首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据特定行的另一列设置特定单元格的组合框的数据源

根据特定行的另一列设置特定单元格的组合框的数据源
EN

Stack Overflow用户
提问于 2017-02-16 17:14:42
回答 1查看 474关注 0票数 0
代码语言:javascript
复制
private void dgGrid_CellListSelect(object sender, CellEventArgs e)
{
    if (e.Cell.Column.Key == "ColumnA")
    {
        UltraGridRow selectedItem = ((UltraCombo)e.Cell.EditorControlResolved).SelectedRow;

        if (selectedItem != null)
        {
            //Option A
            cmbColumnB.DataSource = GetUISender<someBF>().RetrieveData(dataset).dataTable;
            cmbColumnB.DataBind();

            //Option B
            //((UltraCombo)e.Cell.Row.Cells["ChipSetID"].EditorControlResolved).DataSource = GetUISender<someBF>().RetrieveData(dataset).dataTable;
        }

    }
}

有一个允许数据网格添加新行的按钮。这个数据网格有2列,并且这两列都是UltraComboColumnB combobox的dataSource将基于ColumnA。根据上面的代码,如果数据网格只有1行,但一旦用户添加了另一行,两行的ColumnB将共享相同的DataSource。

如何确保ColumnB的DataSource保持独立而不影响其他行?很明显,这是因为每一行都共享相同的组件,即cmbColumnB,但我不确定如何删除引用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-16 17:51:29

我已经找到了解决方案,即每次创建一个新的UltraCombo并将其绑定到特定单元的EditorControl

代码语言:javascript
复制
private void dgGrid_CellListSelect(object sender, CellEventArgs e)
{
    if (e.Cell.Column.Key == "ColumnA")
    {
        UltraGridRow selectedItem = ((UltraCombo)e.Cell.EditorControlResolved).SelectedRow;

        if (selectedItem != null)
        {
            UltraCombo cmbValue = new UltraCombo();
            cmbValue.LimitToList = true;
            cmbValue.DropDownStyle = UltraComboStyle.DropDownList;
            cmbValue.DataSource = GetUISender<someBF>().RetrieveData(dataset).dataTable;
            cmbValue.ValueMember = someDS.someDT.someColumnIDColumn.ColumnName;
            cmbValue.DisplayMember = someDS.someDT.someColumnDescriptionColumn.ColumnName;
            cmbValue.BindingContext = someDg.BindingContext;
            cmbValue.DataBind();
            e.Cell.Row.Cells["ColumnB"].EditorControl = cmbValue;
            e.Cell.Row.Cells["ColumnB"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;

        }

    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42269488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档