我的应用程序中有两个数据网格(dataGridView1
和dataGridView2
)。我正在将所选项目从dataGridView1
移至dataGridView2
。以下是我目前的做法:
DataTable dt = new DataTable("dt");
DataTable id = new DataTable("id");
try
{
if (dataGridView1.Rows.Count > 0)
{
for (int i = 0; i < dataGridView1.Rows.Count - 0; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value != null)
{
DataRow row;
DataRow idRow;
row = dt.NewRow();
idRow = id.NewRow();
idRow["id"] = dataGridView1.Rows[i].Cells[1].Value.ToString();
row["id"] = dataGridView1.Rows[i].Cells[1].Value.ToString();
row["Link Name"] = dataGridView1.Rows[i].Cells[2].Value.ToString();
dt.Rows.Add(row);
id.Rows.Add(idRow);
}
}
dataGridView2.DataSource = dt;
}
但是,我还需要能够从dataGridView2
中删除项目。目前,DataTable dt
已绑定到dataGridView2
,我无法在添加项目后将其清除,因为它还会清除dataGridView2
。
基本上,我的问题是,有没有办法在不使用datagrid.DataSource
的情况下将数据表的内容添加到数据网格?
答案 0 :(得分:1)
您可以使用dataGridView2.Rows.Add
功能手动添加每一行。此外,我通常使用dataGridView2.Row(n).Tag
来保存该行数据的实际来源。
int n = dataGridView2.Rows.Add();
DataGridViewRow newRow = dataGridView2.Rows[n];
newRow.Cells[0].Value = "ABC";
newRow.Cells[1].Value = 123;
newRow.Tag = row;