C# Datarow和DataCell错误
我正在尝试将我的网页数据添加到C#中的DataGridView 我已成功地将网页数据(源数据)存储到名为StrResults的字符串中。使用Regex,我删除了所有标记。现在我需要将内容移动到DataGridView。这里我得到了DataRow和DataCell的错误 这是我的密码:C# Datarow和DataCell错误,c#,C#,我正在尝试将我的网页数据添加到C#中的DataGridView 我已成功地将网页数据(源数据)存储到名为StrResults的字符串中。使用Regex,我删除了所有标记。现在我需要将内容移动到DataGridView。这里我得到了DataRow和DataCell的错误 这是我的密码: DataRow dr= new DataRow(); //Getting Error Here "Error 1 'System.Data.DataRow.DataRow(System.Data.DataRo
DataRow dr= new DataRow(); //Getting Error Here "Error 1 'System.Data.DataRow.DataRow(System.Data.DataRowBuilder)' is inaccessible due to its protection level"
foreach (Match m in m1)
{
String value=m.Value;
String[] data=value.split(':');
DataCell dc=new DataCell(); //Getting Error Here, "Error 2 The type or namespace name 'DataCell' could not be found (are you missing a using directive or an assembly reference?)"
dc.value=data[1];
dr.cell.add(dc);
}
dataGridView1.rows.add(dr);
我已经按照建议在下面添加了我的当前代码。数据单元仅显示一个错误
DataTable dt = new DataTable();
DataRow dr = dt.NewRow();
foreach (Match m in m1)
{
String value = m.Value;
String[] data = value.Split(':');
DataCell dc = new DataCell(); //Getting Error Here
dc.value = data[1];
dr.Cell.add(dc);
}
dataGridView1.Rows.Add(dr);
这样就不能创建
DataRow
。您应该使用DataTable.NewRow()
在System.Data
中没有名为DataCell
的类型。事实上,您不能将单元格添加到行中。您应该将它们作为DataColumn
s添加到DataTable
中:
DataTable table = new DataTable();
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "id";
table.Columns.Add(column);
column = new DataColumn();
column.DataType = Type.GetType("System.String");
column.ColumnName = "name";
table.Columns.Add(column);
foreach (Match m in m1)
{
DataRow row = table.NewRow();
String value=m.Value;
String[] data=value.split(':');
row["id"] = data[0]; // For example
row["name"] = data[1];
table.Rows.Add(row);
}
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = table;
使用此选项代替DataRow dr=new DataRow()
这很完美,如何将此数据添加到datagridview?您可以使用
datagridview
的DataSource
属性。您可以在这里找到许多示例和演练:
DataTable table = new DataTable();
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "id";
table.Columns.Add(column);
column = new DataColumn();
column.DataType = Type.GetType("System.String");
column.ColumnName = "name";
table.Columns.Add(column);
foreach (Match m in m1)
{
DataRow row = table.NewRow();
String value=m.Value;
String[] data=value.split(':');
row["id"] = data[0]; // For example
row["name"] = data[1];
table.Rows.Add(row);
}
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = table;
DataTable dtTable = New DataTable();
DataRow r = dTable.NewRow()