0

私のコードの一部があります:

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

saveFilter 関数:

        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 に答える