我对 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/