编程语言
首页 > 编程语言> > c# – Infragistics Ultragrid – Combobox作为专栏

c# – Infragistics Ultragrid – Combobox作为专栏

作者:互联网

我对Infragistics的UltraGrid控件有疑问.我创建了一个带有一些值的ultracombobox:

 UltraCombo ultraComboPaneel = new UltraCombo();
        ultraComboPaneel.DataSource = articleList;
        ultraComboPaneel.ValueMember = "ArticleID";
        ultraComboPaneel.DisplayMember = "Name";

现在我有一个UltraGrid,我想将ultraCombo放在一个单元格中,这样我就可以选择ultracombo中的一个项目作为单元格值.我在代码和超网格设计器中都尝试过,但我似乎找不到办法.

你们中有人有个主意吗?如果需要,可以提供更多信息

编辑:

我发现了类似的东西

UltraGridColumn ugc = ultraGridTypePaneel.DisplayLayout.Bands[0].Columns.Add("combo");
ultraGridTypePaneel.DisplayLayout.Bands[0].Columns["combo"].EditorControl = ultraComboPaneel;

我觉得我的方式正确,但屏幕上还没有显示…

解决方法:

UltraCombo提供了大量功能.如果您只需要从列表中选择项目,您可能会发现网格ValueLists提供了更好的解决方案.

这里有一些代码可以帮助您入门:

    private void myGrid_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
    {
        const string colorValueList = @"ColorValueList";

        if (!e.Layout.ValueLists.Exists(colorValueList))
        {
            ValueList svl = e.Layout.ValueLists.Add(colorValueList);
            svl.ValueListItems.Add(1, "Red");
            svl.ValueListItems.Add(2, "Green");
            svl.ValueListItems.Add(3, "Blue");
        }
        e.Layout.Bands[0].Columns["Color"].ValueList = e.Layout.ValueLists[colorValueList];
    }

标签:c,infragistics,ultragrid,ultrawingrid,ultracombo
来源: https://codeday.me/bug/20190613/1236006.html