2011-07-22 54 views
0

「この私は別のデータグリッドコンボボックスセル変更した場合、すべてについてのデータグリッドビューコンボボックスセルをリセットされ、」DataGridViewのコンボボックスのSelectedIndexChanged変更イベントでDataGridViewのコンボボックスセルをリセットする方法

例:: た場合を私はちょうど最初の行の値に任意のコンボボックスセルを変化よりも、私はそれらのすべて で値を選択した場合、コンボボックス 含めて、彼らはすべてのDataGridViewの4行はそれほどそれぞれのイベントは彼のポジション

から以下のすべてのセルをリセットする必要がありますされていそれは可能です!または任意の提案は

+0

その第二列なので、最初の行は何をリセットする必要がある場合はリセットされますか?それは、選択されたすべてのComboBoxが発生するはずの1行だけを意味するのでしょうか? – V4Vendetta

+0

この場合、3行目と4行目のセルがリセットされます。リセットの流れは、上から下へ – ertjain

答えて

0
private void Grid_ComboBox_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    int X_access = -1; 
    int Y_access = -1; 

    // Reset DatagridView ComboBox cell On the DatagridView ComboBox 
    if (dataGridView_preView.CurrentCell.RowIndex == 0) 
    { 
     X_access = dataGridView_preView.CurrentCellAddress.Y; // find Cell position 
     Y_access = dataGridView_preView.CurrentCellAddress.X; 
     dataGridView_preView.Rows[X_access + 1].Cells[Y_access].Value = ""; // reset 
     dataGridView_preView.Rows[X_access + 2].Cells[Y_access].Value = ""; 
     dataGridView_preView.Rows[X_access + 3].Cells[Y_access].Value = ""; 
    } 

    else if (dataGridView_preView.CurrentCell.RowIndex == 1) 
    { 
     dataGridView_preView.Rows[X_access + 1].Cells[Y_access].Value = "";     
     dataGridView_preView.Rows[X_access + 2].Cells[Y_access].Value = ""; 
    } 
    else if (dataGridView_preView.CurrentCell.RowIndex == 2) 
    { 
    } 
    else if (dataGridView_preView.CurrentCell.RowIndex == 3) 
    { 
    } 
} 
+0

私はそれがあなたを助けることを願っています 私も試してみます – TosifAfsar

0
foreach (Control field in container.Controls) 
{ 
    if (field is ComboBox) 
     ((ComboBox)field).SelectedIndex = 0; 
    else 
     dgView.DataSource = null; 
     ClearAllText(field); 
} 

それは彼らの最初の位置

関連する問題