2009-09-14 6 views
0

comment modifier une cellule particulière dans un DataGrid et accepter des données dans cette cellule avec textbox.the d'autres cellules dans la grille de données ne doit pas être modifiable en C# .net 2005 merci à l'avance deModifier Datagrid ligne

Répondre

1

Essayez,

DataTable dt = new DataTable(); 
dt.Columns.Add("No",typeof(int)); 
dt.Columns.Add("Name"); 

dt.Rows.Add(1, "A"); 
dt.Rows.Add(2, "B"); 
dt.Columns[0].ReadOnly = true; 

dataGridView1.EditMode = DataGridViewEditMode.EditOnKeystroke; 
dataGridView1.DataSource =dt; 
1

Si vous essayez de mettre à jour directement sur la grille de données:

// Override the OnMouseClick event. 
protected override void OnMouseClick(DataGridViewCellMouseEventArgs e) 
{ 
    if (base.DataGridView != null) 
    { 
     // Get the location (Row/Column) of the selected cell. 
     Point point1 = base.DataGridView.CurrentCellAddress; 
     // e.ColumnIndex/e.RowIndex can be replaced with a hard-coded 
     // value if you only want a specific cell, row, or column to 
     // be editable. 
     if (point1.X == e.ColumnIndex && 
      point1.Y == e.RowIndex && 
      e.Button == MouseButtons.Left && 
      base.DataGridView.EditMode != 
      DataGridViewEditMode.EditProgrammatically) 
     { 
      // Open the cell to be edited. 
      base.DataGridView.BeginEdit(true); 
     } 
    } 
} 

Cela permettra à un utilisateur de modifier le c ell directement. Si vous codez une valeur à la place de e.ColumnIndex, (par exemple: hard code a 5), ​​seule la 5ème colonne sera éditable. La même chose fonctionne pour e.RowIndex.

Questions connexes