私のコードの一部があります:
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 ではなく、たとえば文字列でフィルタリングすると、何も変わりません。