我的代码有一部分:
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 过滤,而是按字符串过滤 - 没有任何变化。