0

我的代码有一部分:

                        if (OnSave())
                    {
                        saveFilter();
                        ReInitDataSource();
                        loadFilter();
                    }

保存过滤器功能:

        ViewFilter filter = new ViewFilter();
    private void saveFilter()
    {
        foreach (object filt in GetGridView.ActiveFilter)
        {
            filter.Add((ViewColumnFilterInfo)filt);
        }
        GetGridView.ActiveFilter.Clear();
    }

负载过滤功能:

        private void loadFilter()
    {
        GetGridView.ActiveFilter.BeginUpdate();
        GetGridView.ActiveFilter.Clear();
        foreach (object filt in filter)
        {
            GetGridView.ActiveFilter.Add((ViewColumnFilterInfo)filt);
        }
        GetGridView.ActiveFilter.EndUpdate();
    }

ReInitDataSource() 确实提交了对数据库的更改并升级了 XpoObject 列产品:

                    GridColumn cColProductGroup = cColInfo.ColumnByFieldName(EVNT_BugzillaComponent.Fields.fkProductGroup_this.PropertyName);
                ControlsUtils.InitLookupControlData(cSession, typeof(LIC_ProductGroup), cColProductGroup.ColumnEdit as RepositoryItemLookUpEdit);

所以有我的问题:当我恢复布局时,gridView1.FilterPanelText 变成“[product]=”我不知道为什么?有人可以提出任何解决方案。

PS,如果我不是按 XpOobjects 过滤,而是按字符串过滤 - 没有任何变化。

4

1 回答 1

0

您是否尝试过使用数据块来更轻松地识别过滤器?!

这样您就可以定义要初始化的数据块。

http://www.centerspace.net/doc/NMath/user/data-2.html

于 2012-08-17T12:07:26.693 回答