【问题标题】:Change Appearance of Boolean Values on Infragistics UltraGrid在 Infragistics UltraGrid 上更改布尔值的外观
【发布时间】:2015-03-03 21:25:59
【问题描述】:

默认情况下,布尔值在 Ultragrid 的单元格中显示为选中 (true) 或未选中 (false) 的复选框。有没有办法简单地将其显示为文本,例如“True”或“False”、0 或 1,甚至“Yes”或“No”?我只是想显示布尔值。网格上的复选框给用户一种错误的印象,即他们可以通过尝试选中或取消选中复选框来修改数据。

【问题讨论】:

    标签: winforms checkbox infragistics ultrawingrid


    【解决方案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;
    }
    

    【讨论】:

    • 太棒了!我知道这一定很容易。
    • 我刚刚注意到,这更多是技术性问题,但 True 和 False 值现在显示为单元格内可以更改的组合框。无论如何要隐藏单元格现在是下拉框的事实?
    • 我将不得不玩弄它。我现在在火车上,所以无法使用。
    【解决方案2】:

    以下是不显示下拉箭头且不允许用户编辑布尔单元格的方法:

        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;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多