【发布时间】:2012-10-18 18:52:05
【问题描述】:
我有一个 Silverlight DataGrid,而不是一个 asp Gridview,它可以很好地填充。我添加了一个复选框列,供用户选择他们想要下载的项目。我的目标是创建一个“购物车”,用户可以在其中选择他们的项目,然后单击一个按钮来添加它们。然后他们会转到结帐页面等。
到目前为止,我的问题是我无法检查用户是否选中了复选框。我认为我的 foreach 循环很好,但我在 bool IsChecked 行中得到了一个“nullreferenceexception”。在断点期间,没有一个值像我看到的那样返回为 null,但它显然没有按我希望的方式工作。
foreach (var row in gridResults.ItemsSource)
{
bool IsChecked = (bool)((CheckBox)gridResults.Columns[8].GetCellContent(row)).IsChecked;
if (IsChecked)
{
List<string> lstFile = new List<string>();
string fileName = (gridResults.SelectedItem as JobSearchResult).FileName;
lstFile.Add(fileName);
}
}
通过文件名,我可以找到服务器上的文件供他们下载,但是如何检查他们是否检查了他们想要的文件?
【问题讨论】:
-
您是否已经通过“IsChecked 行”进行调试以验证究竟是什么部分引发了异常?
-
它在那里遇到错误,然后直接进入我在 app.xaml.cs 中未处理的异常,这只会带来一个损坏的调试器。 (总是说你已经在调试这个,正在退出……)
标签: c# silverlight datagrid foreach