2012-11-03 73 views
0

我有一个网格,它有6列(项目名称,最小数量,最大数量,最大数量,最大数量,折扣)。桌面应用gridview单元格值根据单元格值锁定备用

要求

当我选择分钟数量最大数量列将关闭,并将其值变为零,当我选择分钟量,最大大写金额栏将禁用,反之亦然。当我在数量中输入最小值时,网格的行包含第一行的最大值。

+0

如果你明白我的问题给我答案p/z – minu

+0

你试过什么? –

+0

我不明白笏我做 – minu

回答

0
/* 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; 
    } 
} 
+0

欢迎来到stackoverflow!提供示例代码的简短说明总是更好,以提高发布准确性:) –

0

您可以使用网格的单元验证事件。
ColMinimumQuantity,ColMaximumQuantity,ColMinimumAmount,ColMaximumAmount是网格的列名称 您可以在网格属性中设置它们。