我有一个奇怪的问题。基本上,我有一个数据网格视图和一个按钮。当我单击此按钮时,它检查所有行的第一列值 - 复选框列。然后根据当前状态将其设置为true / false。
这一切都很好。
但是,然后,我有另一个按钮来处理这些被勾选的行。我点击它,它只会识别第一行为被选中的。其余的似乎现在为空..?
那么,如何以编程方式设置数据网格视图中复选框列的值,然后再次读取它,因为根据我的结果,我显然偏离了正确方向。
这将设置复选框并且我可以看到它们,手动取消勾选等。
然后,检查值的下一个按钮只是查找空值。
这一切都很好。
但是,然后,我有另一个按钮来处理这些被勾选的行。我点击它,它只会识别第一行为被选中的。其余的似乎现在为空..?
那么,如何以编程方式设置数据网格视图中复选框列的值,然后再次读取它,因为根据我的结果,我显然偏离了正确方向。
这将设置复选框并且我可以看到它们,手动取消勾选等。
foreach (DataGridViewRow row in dgv.Rows)
{
var ch1 = new DataGridViewCheckBoxCell();
ch1 = (DataGridViewCheckBoxCell)row.Cells[0];
if (ch1.Value == null)
ch1.Value = false;
switch (ch1.Value.ToString())
{
case "True":
ch1.Value = false;
break;
case "False":
ch1.Value = true;
break;
}
}
然后,检查值的下一个按钮只是查找空值。
foreach (DataGridViewRow row in rows)
{
var ch1 = new DataGridViewCheckBoxCell();
ch1 = (DataGridViewCheckBoxCell)row.Cells[0];
if (ch1.Value == null)
ch1.Value = false;
switch (ch1.Value.ToString())
{
case "True":
ch1.Value = true;
break;
case "False":
ch1.Value = false;
break;
}
var val = row.Cells["EbayListingID"].Value.ToString();
if (ch1.Value.ToString() == "true") continue;
var listing = dsEntities.EbayListings.First(x => x.EbayListingID.ToString() == val);
SubmitListingForReview(listing, false);
}