【发布时间】:2016-11-11 08:50:20
【问题描述】:
我在从 datagridview 中选中的复选框中获取值时遇到问题。我想获取选中复选框的所有 Id,但我只检查了最新的。
这是我的代码:
string Id = "";
ds_utilityTableAdapters.tbl_membersTableAdapter tam = new ds_utilityTableAdapters.tbl_membersTableAdapter();
ds_utility.tbl_membersDataTable dtm = new ds_utility.tbl_membersDataTable();
foreach (DataGridViewRow row in dgv_members.Rows)
{
if (row.Cells[0].Value != null && (Boolean)row.Cells[0].Value == true)
{
Id= row.Cells[1].Value.ToString();
// using Id to display data in crystal report viewer
// but only read the latest checkbox value
dtm = tam.GetDataBy_SearchId(Id);
// in my dataset (ds_utility), I wrote the query like this
// SELECT * FROM tbl_members WHERE (Id = ?)
}
}
如何编写查询来获取所有值?
【问题讨论】:
-
看起来您正在循环中覆盖“dtm”对象。因此,在这种情况下,每次迭代后它将包含来自当前 ID 的数据。自然地,在最后一次迭代之后,它将仅包含来自最后一个 Id 的数据。
-
@vaxlt 感谢您的回复。您能解释一下我应该在哪里放置“dtm”或如何编写正确的查询以获得所有值吗?
标签: c# checkbox datagridview datatable tableadapter