Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在datagridview中编辑行_C#_Datagridview - Fatal编程技术网

C# 在datagridview中编辑行

C# 在datagridview中编辑行,c#,datagridview,C#,Datagridview,早上好,我想知道如何在datagridview中编辑行。例如,一个包含3列的datagridview,其中第1列和第3列已被填充(数据),而第2列不包含数据,就像我填充该列一样,将数据保留在其他列中 我没有捕获任何数据库中的数据。我是通过数据表来做的 Column 1 Column 2 Column 3 xxxxx xxxxx xxxxx xxxxx xxxxx

早上好,我想知道如何在datagridview中编辑行。例如,一个包含3列的datagridview,其中第1列和第3列已被填充(数据),而第2列不包含数据,就像我填充该列一样,将数据保留在其他列中

我没有捕获任何数据库中的数据。我是通过数据表来做的

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”;}