大家好。
我希望你们能提供帮助。
我的问题是这样的:
我有这个datagridview,我使用数据源(对数据库表的查询)来填充。我只手动创建了一个包含复选框的列。绑定完成后,我可以单击复选框以选择该行,然后可以通过这种方式选择多行。
我想将选定的行放入数据表中(以便我可以读取它,并对其进行一些sql查询)但是,当我读取选定的行以将其放入数据表中时,我需要跳过复选框列(第一个)。
我该如何实现?
答案 0 :(得分:0)
好的,为了将来参考,我将在这里发布如何修复它。
DataTable dt = new DataTable();
if (dgvPedidos.SelectedRows.Count > 0)
{
foreach (DataGridViewColumn column in dgvPedidos.Columns)
dt.Columns.Add();
int i = 0;
foreach(DataGridViewRow row in dgvPedidos.Rows)
{
if (Convert.ToBoolean(dgvPedidos.Rows[i].Cells["chkPedido"].Value) == true)
{
dt.Rows.Add();
dt.Rows[i][1] = row.Cells[1].Value.ToString();
dt.Rows[i][2] = row.Cells[2].Value.ToString();
dt.Rows[i][3] = row.Cells[3].Value.ToString();
dt.Rows[i][4] = row.Cells[4].Value.ToString();
dt.Rows[i][5] = row.Cells[5].Value.ToString();
dt.Rows[i][6] = row.Cells[6].Value.ToString();
dt.Rows[i][7] = row.Cells[7].Value.ToString();
dt.Rows[i][8] = row.Cells[8].Value.ToString();
dt.Rows[i][9] = row.Cells[9].Value.ToString();
i++;
}
}
dt.Columns.RemoveAt(0);