默认情况下,布尔值在Ultragrid上的单元格中显示为复选框,可以选中(true)或取消选中(false)。有没有办法简单地将其显示为文本,例如“True”或“False”,0或1,甚至“是”或“否”?我只是想显示布尔值。网格上的复选框会让用户误以为他们可以通过尝试选中或取消选中复选框来修改数据。
答案 0 :(得分:1)
您可以通过处理InitializeLayout
事件并使用ValueList
:
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
{
var l = e.Layout.ValueLists.Add("MyBooleanValueList");
var trueVal = l.ValueListItems.Add(true);
var falseVal = l.ValueListItems.Add(false);
l.DisplayStyle = Infragistics.Win.ValueListDisplayStyle.DisplayText;
e.Layout.Bands[0].Columns["AmIHere"].ValueList = l;
}
答案 1 :(得分:1)
以下是如何在不显示下拉箭头且不允许用户编辑布尔单元格的情况下执行此操作:
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
{
UltraGridLayout layout = e.Layout;
UltraGridBand band = layout.Bands[0];
ValueList vl = new ValueList();
vl.ValueListItems.Add(true, "True");
vl.ValueListItems.Add(false, "False");
UltraGridColumn boolColumn = band.Columns["Boolean 1"];
boolColumn.ValueList = vl;
boolColumn.CellActivation = Activation.NoEdit;
}