我对 Infragistics 的 UltraGrid 控件有问题。我创建了一个包含几个值的超组合框:

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

现在我有一个 UltraGrid,我想将 ultraCombo 放在一个单元格中,以便我可以选择 UltraCombo 的一项作为单元格值。我在代码和 Ultragrid 设计器中都尝试过,但我似乎找不到办法做到这一点。

你们有什么想法吗?如果需要,可以提供更多信息

编辑:

我发现了类似的东西
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 - 组合框作为列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7268757/

10-13 09:43