0

SPGridViewを動的に(SharePointのコードビハインドで)作成しましたが、ページング、並べ替えなどはすべて正常に機能していますが、ObjectDataSourceを使用せずにフィルタリングを実行したいと思います(ObjectDataSourceでオブジェクトデータソースのIDを割り当てて作成しました)

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の並べ替えも機能しますが、メニューをクリックするとjavascriptエラーが発生し、列CODE_NAMEの値が表示されません。 。しかし何も表示されません

ObjectDataSourceを使用しないフィルタリングに関するヘルプは大歓迎です。テキストボックス、フィルタリングのドロップダウンは必要ありません。フィルタリングには同じメニュー(SPGridViewに表示されます)が必要ですが、ObjectDataSourceは必要ありません。

4

1 に答える 1

0

ご存知のように、SPGridViewのフィルタリングはObjectDataSourceで最適に機能します。ドロップダウンコントロールを追加し、選択した値をCAMLクエリに渡してフィルタリングすることをお勧めします。

于 2011-03-17T16:23:53.673 に答える