이 문제의 원인을 모르는 경우 문제점을 설명하기는 어렵지만 시도 할 것입니다. 내 양식에휴가 또는 값 변경시 제어 값 설정
두 Devexpress SpinEdit controls
합니다 (SpinEdit
클래스는 텍스트 편집기로 구성되어 제어와 사용자가 단지 NumericUpDown
를 사용하여 같은 값을 조정하기 위해 클릭 할 수있는 스핀 버튼 한 쌍을 나타냅니다)
문제가 있습니다 스핀 편집 1 값 변경 이벤트를 처리 한 후 두 번째 스핀 편집 값을 설정할 수 없습니다.
형태로드의 두 컨트롤이 도착하면 데이터베이스에서 값 (소수점 18,2)
하자 말 :
priceSpinEdit 값이 100,00
discountSpinedit 값이 10,00
입니다 사용자가 할인율을 변경할 때 할인율로 가격을 계산하고 가격을 가격에 입력해야합니다 .WithDiscountSpinEdit
아베 코드 그 초점이 내가 계산 supplierPriceWithDiscountSpinEdit 쇼 정확한 계산 된 값을 만들고있어하는 컨트롤에 설정되어 있지만이 컨트롤이 손실 초 후에 초점 값이 데이터베이스에서로드 값으로 설정
private void supplierDiscountPercetangeSpinEdit_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
decimal price, percentage, calculatedPrice;
price = (decimal)supplierPriceSpinEdit.EditValue;
percentage = Convert.ToDecimal(e.NewValue, CultureInfo.InvariantCulture);
calculatedPrice = Popust.Izracunaj(price, percentage);
supplierPriceWithDiscountSpinEdit.EditValue = calculatedPrice;
}
동안 작업의 잘.
나는 내가 간단한 버튼 클릭이 점을 넣어 시도 후 반대 할 값을 작성해야하지만, 생각했다과 작업의 (값 스틱의) 가격 정확한 값을 계산할 때 왜
private void button1_Click(object sender, EventArgs e)
{
decimal price, percentage, calculatedPrice;
price = (decimal)supplierPriceSpinEdit.EditValue;
percentage = (decimal)supplierDiscountPercetangeSpinEdit.EditValue;
calculatedPrice = Popust.Izracunaj(price, percentage);
supplierPriceWithDiscountSpinEdit.EditValue = calculatedPrice;
}
그래서 내 질문은 두 번째 spinEdit에 표시되고 포커스를 잃으면 사라집니다.
죄송합니다. 긴 질문에 대해 사과드립니다. 필요한 경우 추가 정보를 추가 할 수 있습니다.
편집 :
supplierPriceWithDiscountSpinEdit.DataBindings.Add("EditValue", productBindingSource, "SupplierPriceWithDiscount", true, DataSourceUpdateMode.OnPropertyChanged);
을 그리고 SpinEdit
EditValueChanging
이벤트 처리기에서, 객체 속성을 변경 : spinedit 제어
//
// supplierPriceWithDiscountSpinEdit
//
this.supplierPriceWithDiscountSpinEdit.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.productBindingSource, "SupplierPriceWithDiscount", true));
this.supplierPriceWithDiscountSpinEdit.EditValue = "0,00";
this.supplierPriceWithDiscountSpinEdit.EnterMoveNextControl = true;
this.supplierPriceWithDiscountSpinEdit.Location = new System.Drawing.Point(527, 33);
this.supplierPriceWithDiscountSpinEdit.MenuManager = this.barManager1;
this.supplierPriceWithDiscountSpinEdit.Name = "supplierPriceWithDiscountSpinEdit";
this.supplierPriceWithDiscountSpinEdit.Properties.Mask.BeepOnError = true;
this.supplierPriceWithDiscountSpinEdit.Properties.Mask.EditMask = "n2";
this.supplierPriceWithDiscountSpinEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
this.supplierPriceWithDiscountSpinEdit.Properties.Mask.UseMaskAsDisplayFormat = true;
this.supplierPriceWithDiscountSpinEdit.Properties.NullText = "0,00";
this.supplierPriceWithDiscountSpinEdit.Properties.ValidateOnEnterKey = true;
this.supplierPriceWithDiscountSpinEdit.Size = new System.Drawing.Size(100, 20);
this.supplierPriceWithDiscountSpinEdit.TabIndex = 13;
데이터 바인딩은 supplierPriceWithDiscountSpinEdit 컨트롤에서 사용합니까? – SidAhmed
예, 십진수 (18,2) – Carlo
supplierPriceWithDiscountSpinEdit 컨트롤을 바인딩 할 때 코드를 표시 할 수 있습니까? – SidAhmed