2012-11-03 74 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是網格的列名稱 您可以在網格屬性中設置它們。