Мой флажок не приводит к изменению источника привязки при установке.
У меня есть флажок, связанный с таблицей SQL (определенной как TinyInt), например:
//
// overrideCheckBox
//
this.overrideCheckBox.CausesValidation = false;
this.overrideCheckBox.DataBindings.Add(new
System.Windows.Forms.Binding("CheckState", this.ProcessingBindingSource, "rtoverride", true));
this.overrideCheckBox.Location = new System.Drawing.Point(354, 378);
this.overrideCheckBox.Name = "overrideCheckBox";
this.overrideCheckBox.Size = new System.Drawing.Size(104, 24);
this.overrideCheckBox.TabIndex = 70;
this.overrideCheckBox.Text = "Override";
this.overrideCheckBox.UseVisualStyleBackColor = true;
this.overrideCheckBox.Visible = false;
Он определен как System.Byte в адаптере таблицы.
Я использую этот код для сохранения:
this.ProcessingBindingSource.EndEdit();
this.ProcessingTableAdapter.Update(rMSDataSet);
myDataSet.AcceptChanges();
Все остальные поля сохраняются, кроме моего флажка.Я проверил свой источник привязки обратно к моей таблице, и все кажется правильным, кроме ProcessingBindingSource -> current row -> rtoverride не изменился, чтобы отразить новое значение флажка = 1.
Что-то не так, и япытаясь взломать это с помощью чего-то вроде этого:
if (overrideCheckBox.Checked)
{
// in the ProcessingBindingSource at ProcessingBindingSource.Position change the value from 0 to 1
}
this.ProcessingBindingSource.EndEdit();
this.ProcessingTableAdapter.Update(rMSDataSet);
myDataSet.AcceptChanges();
Это не красиво и не лучший способ сделать это, но я должен это сделать, и я не могу понять синтаксис.
Любая помощь будет принята с благодарностью.