我已经动态创建了SPGridView(在sharepoint的代码隐藏中),一切都工作正常,分页等...但我想在不使用ObjectDataSource的情况下进行过滤(我通过分配对象数据源的ID来完成ObjectDataSource)到
Grid.DataSourceID = objectDatasourceID;
和filterig有效,但是当我编辑该行然后在更新时它不起作用)所以我删除了ObjectDataSource并从DB获取了表的数据并且分配给Grid.DataSource = DataTable;和Grid.DataBind();它工作正常,但当我编写过滤代码时,如
SPgv.AllowFiltering = true;
SPgv.FilterDataFields = "CODE_NAME";
SPgv.FilteredDataSourcePropertyName = "FilterExpression";
SPgv.FilteredDataSourcePropertyFormat = "{1} = '{0}'";
(SPgv是SPGridView,CODE_NAME是列名)
当我运行此代码时,菜单出现在列名称上,并且排序asc和desc也有效,但是当我点击菜单并且CODE_NAME列中的值没有出现时,它会给我一个javascript错误,它说loading ...但没有出现
任何有关没有ObjectDataSource的过滤的帮助都将非常感激,我不想要任何文本框,过滤下拉列表我想要相同的菜单(出现在SPGridView中)进行过滤但没有ObjectDataSource。
答案 0 :(得分:0)
如您所知,SPGridView的过滤最适合使用ObjectDataSource。我建议添加一个下拉控件并将所选值传递给您的CAML查询进行过滤。