动态填充数据网格

时间:2012-07-27 09:39:03

标签: c# winforms c#-4.0

while (rawCode.IndexOf("<a href") != -1)
{
                string[] parts = link.Split(new string[] { "./" }, StringSplitOptions.None);  
                string column = string.Format("Column{0}",1);
                dataGridView1.Columns.Add("Link","Links");
                for (int i = 0; i < parts.Length; i++)
                {
                    if (parts[i] != "")
                    {

                        dataGridView1.Rows.Add((new Object[] { i, parts[i]}));

                        dataGridView1.Columns.Add("Link", "Name");
                        dataGridView1.Rows.Add((new Object[] { i, parts[i]}));
                        //Here i need to insert data into already existing row.
                    }
                 }
}

我可以使用上面的代码动态创建一行。但我没有得到如何将数据插入已创建的行。下图显示了上述代码的输出。 Data grid created using above code

我想在链接后添加单元格旁边的数据。当我尝试使用相同的代码时,会创建新行,但我想将数据插入已创建的行中。

1 个答案:

答案 0 :(得分:2)

您可以像这样更新现有行:

 dataTable.Rows[i]["columnNameHere"] = valueYouWantToUse;

或者,您可以在将数据添加到数据源之前在行中输入信息。

DataRow row = dataTable.NewRow();
row["columnName"] = valueYouWantToUse;
//any other information can be put here too, for each column in the row.
dataTable.Rows.Add(row);

 if (parts[i] != "")
                {

                    dataGridView1.Rows.Add((new Object[] { i, parts[i]}));

                    dataGridView1.Columns.Add("Link", "Name");
                    DataRow row = dataTable.NewRow();
                    row["Link"] = i.ToString();
                    row["Name"] = parts[i].ToString();

                    //here add all your column values for that row in the same manner, then,
                    dataTable.Rows.Add(row);
                }