WPF, DataGrid 控件,想实现 每行第一列的值若为空,该单元格背景色变红色。

for(inti=0;i<DgMakeExcel.Items.Count;i++){varrow=DgMakeExcel.ItemContainerGenerator.C... for (int i = 0; i < DgMakeExcel.Items.Count; i++)
{
var row = DgMakeExcel.ItemContainerGenerator.ContainerFromItem(DgMakeExcel.Items[i]) as DataGridRow;
if (row != null && row.IsVisible)
{
//可惜没有Cell或Row属性
//因此不知道如何判断
if (row.Cell[0].Value==null)
{
row.Background = new SolidColorBrush(Colors.Red);
}
}
}
展开
 我来答
bookid_2012
2015-05-14 · 超过13用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:12.6万
展开全部
(所有权归原博客)
http://www.cnblogs.com/dinid/articles/2029846.html

写得很清楚,先 using system.data ,用 datarowview 指向表格的行,然后指向列,试试吧。
追问
他的代码是(DataRowView)dataGrid1.SelectedItem,而我的没有SelectedItem,我的是逐行遍历的。
追答
(所有权归原博客)

http://blog.csdn.net/jhqin/article/details/7645357/

DataGridRow 借助 DataGridCellsPresenter 找到 DataGridCell ,之后的转化就是直接指定 DataGridCell 的转换控件类型即可。

这之间需要编写 GetVisualChild 函数,有一点麻烦,本人没有试验这些代码。

既然不需要 SelectedItem,让 datagrid 双向绑定一个 datatable 不行吗?这样直接处理 datatable就是了,处理 datatable 十分简单呀。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式