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);
}
}
} 展开
{
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);
}
}
} 展开
1个回答
展开全部
(所有权归原博客)
http://www.cnblogs.com/dinid/articles/2029846.html
写得很清楚,先 using system.data ,用 datarowview 指向表格的行,然后指向列,试试吧。
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 十分简单呀。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询