2007年8月21日火曜日

ASP.NET GridViewで検索機能を追加~ObjectDataSource TypedDataSet~

GridViewで一覧表示 ~ObjectDataSource(TypedDataSet)~ を修正して検索機能を追加します。

■型付DataSetにメソッドを追加します。
CompanyDataSetデザイナのCompanyTableAdapterの右クリックメニューより「クエリーの追加」を選択します。

「SQLステートメントを使用する」を選択します。

「複数行を返すSELECT」を選択します。

「クエリビルダ」ボタンをクリックします。

条件式を設定します。
CompanyIDフィールドの並べ替えの種類を「昇順」
CompanyNameフィールドのフィルタを「Like '%' + @CompanyName + '%'」
CompanyKanaフィールドのフィルタを「Like '%' + @CompanyKana + '%'」

「次へ」ボタンをクリックします。

メソッド名を入力します。

完了します。


■検索条件指定用のコントロールを配置します。


■ObjectDataSorceを修正します。
ObjectDataSourceのスマートタグより「データソースの構成」をクリックします。
ビジネスオブジェクトに「CompanyDataSetTableAdapters.CompanyTableAdapter」を選択します。

SELECTメソッドに先ほど作成した「GetDataByNameAndKana」メソッドを選択します。
(選択に表示されない場合は、リビルドしてください。)

パラメータの定義を行います。
パラメータ[companyName]のパラメータソースに[Control]を選択し、ControlIDに[txtCompanyName]、DefaultValueに「%」を設定します。

同様に、パラメータ[companyKana]のパラメータソースに[Control]を選択し、ControlIDに[txtCompanyKana]、DefaultValueに「%」を設定します。


■空データ時のメッセージを作成します。
GridViewのスマートタグより「テンプレートの編集」を選択します。
スマートタグの表示ボックスで「EmptyDataTemplate」が選択されていることを確認します。
EmptyDataTemplateボックスにLabelコントロールを配置し
Textプロパティに「該当するデータがありません。<br>抽出条件を指定してから「検索」ボタンをクリックしてください。」を設定します。
ForeColorプロパティをredに設定します。
スマートタグより「テンプレート編集の終了」をクリックします。


■実行して確認します。

0 件のコメント: