我看过一些类似这个问题的帖子,但我还没有提出我的回答,所以我想我会再次浮起来看看会发生什么......
我使用ExcelDNA使用C#.NET将API与Excel集成。我有一个DataGridView,我想检查列表中已存在的项目。
以下代码与按钮单击事件绑定时有效,但在方法中调用代码时则无效。
private void SelectAllItems()
{
foreach (DataGridViewRow row in itemsBySupplier.Rows)
{
DataGridViewCheckBoxCell check = (DataGridViewCheckBoxCell)row.Cells["selectItem"];
check.Value = check.TrueValue;
}
}
我也在其他地方遇到同样的问题:
foreach (DataGridViewRow row in itemsBySupplier.Rows)
{
DataGridViewCheckBoxCell check = (DataGridViewCheckBoxCell)row.Cells["selectItem"];
string hid = row.Cells["Hid"].Value.ToString();
if (Ws.ToCreate[_supplier].Count(i => i.Hid == hid) > 0)
{
check.Value = check.TrueValue;
}
}
我已经研究了几个小时,完全是空的。任何帮助将不胜感激。
答案 0 :(得分:4)
您可以通过将值设置为true来执行此操作。您无需转换为复选框单元格。
private void SelectAllItems()
{
foreach (DataGridViewRow row in itemsBySupplier.Rows)
{
// This will check the cell.
row.Cells["selectItem"].Value = "true";
}
}
foreach (DataGridViewRow row in itemsBySupplier.Rows)
{
string hid = row.Cells["Hid"].Value.ToString();
if (Ws.ToCreate[_supplier].Count(i => i.Hid == hid) > 0)
{
row.Cells["selectItem"].Value = "true";
}
}