我将gridview转换为tile视图,并添加了一些格式规则。当我运行我的项目时,格式规则不起作用。我确定我的规则是正确的。我该怎么办?
答案 0 :(得分:2)
正如我发现的那样,要有条件地自定义图块,您应该处理TileView.ItemCustomize Event。
请参阅:Tile View
TileView.ItemCustomize事件会在此磁贴之前触发每个磁贴 被展示。处理此事件时,您可以阅读其e.Item 参数访问完全生成,准备显示 瓷砖项目。之后,您可以应用所需的更改。例如, 应用不同的背景颜色或访问TileItem.Elements 用于修改特定元素的集合。
可以通过访问TileView.AppearanceItem属性提供的外观设置来自定义视图中的所有TileViewItemElements。同时,每个单独的元素都有自己的外观设置,可以覆盖此全局外观。要访问这些外观,请使用TileItemElement.Appearance属性。
示例:
private void tileView1_ItemCustomize(object sender, DevExpress.XtraGrid.Views.Tile.TileViewItemCustomizeEventArgs e) {
e.Item.Elements[6].Text = String.Format("${0}M", ((Decimal)(Int32)tileView1.GetRowCellValue(e.RowHandle, colPrice) / 1000000).ToString("0.0"));
if ((bool)tileView1.GetRowCellValue(e.RowHandle, colSold) == true) {
e.Item.Elements[1].Image = global::TileViewHomes.Properties.Resources.gray_element;
e.Item.Elements[6].Text = "SOLD";
//Changes background colour of non selected tileitem
e.Item.AppearanceItem.Normal.BackColor = Color.Red;
}
}