您好,先生,我有一个问题 我正在将数据绑定到datagridview,就像这样
dataGridView1.DataSource = dt1;
现在基于datagridview中的一个列,我没有向datagridview添加任何列,例如
这是在绑定数据源
之后将列绑定到动态列的编码for (int j = 0; j < i; j++)
{
if (j >= (dataGridView1.Columns.Count - 10))
{
DataGridViewColumn col = new DataGridViewTextBoxColumn();
col.DataPropertyName = "";
col.HeaderText = j.ToString();
col.Name = j.ToString();
dataGridView1.Columns.Add(col);
}
}
所以现在我的真正问题就开始了 现在从数据库我必须绑定此动态列的值 所以代码看起来像
foreach (DataGridViewRow dgvr in this.dataGridView1.Rows)
{
foreach (DataGridViewColumn dgvc in this.dataGridView1.Columns)
{
string query3 = "select pcs from purchase_sr_details where purchase_details_id='" + dataGridView1.Rows[dgvr.Index].Cells[1].Value + "'";
if (dgvc.Index > 8)
{
DataTable dt2 = connection.getexecuted(query3);
if (dt2.Rows.Count > 0)
{
for (int i = 0; i < dt2.Rows.Count; i++)
{
dataGridView1.Rows[dgvr.Index].Cells[""+i+""].Value = dt2.Rows[i]["pcs"].ToString();
}
}
}
}
}
所有工作正常但我无法将值恢复到列没有显示任何检索到的动态列生成但值没有绑定到那一个非常混淆我被困在这一天
答案 0 :(得分:1)
我认为你的问题是你正在使用绑定和非绑定的混合。如果绑定到datagridview,则无法直接更改单元格。你有两个选择: