C# 在datagridview中编辑行
早上好,我想知道如何在datagridview中编辑行。例如,一个包含3列的datagridview,其中第1列和第3列已被填充(数据),而第2列不包含数据,就像我填充该列一样,将数据保留在其他列中 我没有捕获任何数据库中的数据。我是通过数据表来做的C# 在datagridview中编辑行,c#,datagridview,C#,Datagridview,早上好,我想知道如何在datagridview中编辑行。例如,一个包含3列的datagridview,其中第1列和第3列已被填充(数据),而第2列不包含数据,就像我填充该列一样,将数据保留在其他列中 我没有捕获任何数据库中的数据。我是通过数据表来做的 Column 1 Column 2 Column 3 xxxxx xxxxx xxxxx xxxxx xxxxx
Column 1 Column 2 Column 3
xxxxx xxxxx
xxxxx xxxxx
xxxxx xxxxx
dataGridView可以很好地显示,就像我填充第2列一样
DataTable mytable = new DataTable ( " Class Name ");
mitabla.Columns.Add (new DataColumn ( " Class Name " , typeof (string ))) ;
mitabla.Columns.Add (new DataColumn ("# Method " , typeof (string ))) ;
mitabla.Columns.Add (new DataColumn ("# lines " , typeof (int ))) ;
DataGridView1.DataSource = mytable ;
我假设您正在使用WinForms,因为您引用了DataGridView 实际上,您只需要在数据表中有一些行。我假设您有一些循环来填充这些行,如下所示
private void Form1_Load(object sender, EventArgs e)
{
DataTable mytable = new DataTable(" Class Name ");
mytable.Columns.Add(new DataColumn(" Class Name ", typeof(string)));
mytable.Columns.Add(new DataColumn("# Method ", typeof(string)));
mytable.Columns.Add(new DataColumn("# lines ", typeof(int)));
// Use your own logic to fill the table with data
for (int i = 0; i < 10; i++)
{
DataRow dr = mytable.NewRow();
dr[" Class Name "] = "class" + i;
dr["# Method "] = "";
dr["# lines "] = i;
mytable.Rows.Add(dr);
}
dataGridView1.DataSource = mytable;
}
private void Form1\u加载(对象发送方,事件参数e)
{
DataTable mytable=新DataTable(“类名”);
添加(新数据列(“类名”,typeof(字符串));
Add(newdatacolumn(#Method),typeof(string));
添加(新数据列(“#行”,typeof(int));
//使用您自己的逻辑用数据填充表格
对于(int i=0;i<10;i++)
{
DataRow dr=mytable.NewRow();
dr[“类别名称”]=“类别”+i;
dr[“#方法”]=”;
dr[“#行”]=i;
mytable.Rows.Add(dr);
}
dataGridView1.DataSource=mytable;
}
非常感谢您的回复,但这不是问题所在,在填写这些列之后,我遇到的障碍是填写中心的列。您的数据表可能应该是表单的成员或其他对象,以便您可以对其进行引用。然后,您可以稍后更新任何DataRow列的值,DataGridView将反映更改。您可以在前面的示例中使用相同的for循环,或者类似于foreach(myTable.Rows中的DataRow dr){dr[“#Method”]=“new value”;}