由于EditForm上的控件绑定到数据源,并且EditValue属性绑定到数据字段,因此还需要强制将值传递给数据源,为此赋值有效必须取数据库绑定字段存在的值。
//绑定数据库
//MetalTypeListEdit.Properties.DataSource = CreateTable4();
//MetalTypeListEdit.Properties.ValueMember = "MetalTypeList"; //相当于Editvalue
//MetalTypeListEdit.Properties.DisplayMember = "Name"; //相当于Text
//EditValue赋值必须取数据库绑定字段中有的值。
private void CostGroupIdEdit_EditValueChanged(object sender, EventArgs e)
{
if (CostGroupIdEdit.Text != "")
{
object JewelMaterial = CostGroupIdEdit.GetColumnValue("JewelMaterial");
if (JewelMaterial.ToString() != "1")
{
MetalTypeListEdit.EditValue = 0;
MetalTypeListEdit.ReadOnly = true;
}
else
{
MetalTypeListEdit.EditValue = 0;
MetalTypeListEdit.ReadOnly = false;
}
}
else
{
MetalTypeListEdit.EditValue = 0;
MetalTypeListEdit.ReadOnly = true;
}
}