没有objectdatasource的SPGridView过滤

时间:2011-01-06 05:16:06

标签: objectdatasource spgridview

我已经动态创建了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。

1 个答案:

答案 0 :(得分:0)

如您所知,SPGridView的过滤最适合使用ObjectDataSource。我建议添加一个下拉控件并将所选值传递给您的CAML查询进行过滤。