我正在使用以下代码向Gridview添加新列
GridColumn attachcolumn = new GridColumn() {
Name = "TEST",
FieldName = "TEST",
UnboundType = DevExpress.Data.UnboundColumnType.Object,
Caption = "TEST",
// ImageIndex = 0,
ImageAlignment = StringAlignment.Center,
ColumnEdit = new RepositoryItemPictureEdit(),
// ShowButtonMode = ShowButtonModeEnum.ShowOnlyInEditor
};
_gvSearchRes.Columns.Add(attachcolumn);
我正在这样设置图像
for (int i = 0; i <= (_iDataRowCount - 1); i++)
{
_rgv.SetRowCellValue(i, "TEST", new Bitmap(10,10));
}
答案 0 :(得分:1)
由于使用的是“未绑定列”,所以不会显示您的值,但是不要将图像存储在任何地方。 GridView本身不会保存单元格值。因此,当您调用SetRowCellValue方法时,图像会丢失。您需要手动存储未绑定的列值。为此,请处理CustomUnboundColumnData事件,然后将图像保存在例如字典中。请参阅this example以获得可能的实现。
请注意,如果只需要显示复选框,则不需要未绑定的列。您可以使用RepositoryItemCheckEdit来完成此任务。将其ValueChecked属性设置为“是”,并将ValueUnchecked属性设置为“否”。然后,将此存储库项目分配给您的列。结果,您将在列中看到相应的复选标记。如果需要,可以使用CheckBoxOptions属性更改默认图像。