桌面应用程序GridView单元格值锁定根据单元格值链接



我有一个网格,它有6列(项目名称,最小数量,最大数量,最大AMOUT,最大金额,折扣)。

要求

当我选择最小数量时,最大数量列将禁用并且其值变为零,当我选择 min> min guner将禁用,反之亦然。当我输入最小值数量时,网格行包含第一行最大值。

您可以使用Grid的单元格验证事件。
colminimumquantity,colmaximumquantity,colminimumamount,colmaximimAnt是网格的列名称您可以将它们设置在网格属性中。

/* You can use grid's cell validating event.  
 ColMinimumQuantity, ColMaximumQuantity, ColMinimumAmount, ColMaximumAmount are grid's column name
 you can set them in Grid Properties. */
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    if (dataGridView1.CurrentCell.OwningColumn.Name.ToUpper().ToString() == "ColMaximumQuantity")
    {
        dataGridView1.CurrentRow.Cells["ColMinimumQuantity"].Value = "0";
        dataGridView1.CurrentRow.Cells["ColMaximummQuantity"].ReadOnly = false;
        dataGridView1.CurrentRow.Cells["ColMinimummQuantity"].ReadOnly = true;
    }
    if (dataGridView1.CurrentCell.OwningColumn.Name.ToUpper().ToString() == "ColMaximumAmount")
    {
        dataGridView1.CurrentRow.Cells["ColMinimumAmount"].Value = "0";
        dataGridView1.CurrentRow.Cells["ColMaximummQuantity"].ReadOnly = false;
        dataGridView1.CurrentRow.Cells["ColMinimummQuantity"].ReadOnly = true;
    }
    if (dataGridView1.CurrentCell.OwningColumn.Name.ToUpper().ToString() == "ColMinimumAmount")
    {
        dataGridView1.CurrentRow.Cells["ColMaximumAmount"].Value = "0";
        dataGridView1.CurrentRow.Cells["ColMiniimumAmount"].ReadOnly = false;
        dataGridView1.CurrentRow.Cells["ColMaximumAmount"].ReadOnly = true;
    }
}

最新更新