Visual Studio下ASPをまとめる.NETテンプレート化コントロールでのデータバインド
4456 ワード
テンプレート化コントロールでデータFormView、DataList、Repeater、ListView Webサーバにバインドされたコントロールは、テンプレートを使用してデータを表示し、ユーザー入力を取得して、データを挿入、更新、削除します.さらに、テンプレートをGridViewおよびDetailsViewコントロールとともに使用して、データレイアウトをカスタマイズすることもできます.テンプレート化コントロールのDataSourceIDプロパティをデータソースコントロールのIDに設定することで、テンプレート化コントロールをデータソースコントロール(LinqDataSource、ObjectDataSource、SqlDataSourceコントロールなど)にバインドできます.その後、Eval関数およびBind関数を使用してテンプレート内のデータソースにバインドすることができます.詳細については、データバインド式構文を参照してください.テンプレートを使用してコントロールをデータ1にバインドします.次の例に示すように、ページにデータソースコントロール(SqlDataSourceコントロールなど)を追加します.
2.ASPなどのテンプレートをサポートするコントロールを追加する.NET FormViewコントロール.3.テンプレート化コントロールのデータソースID属性を、手順1のデータソースコントロールのIDに設定します.この例では、次のようになります.
4.テンプレート化コントロールにテンプレートを追加し、コントロールとタグを使用してテンプレートを埋めます.5.データを表示するには、Eval関数を属性設定として使用し、バインドデータフィールドを参照します.データの挿入または編集に使用するテンプレートで、Bind関数を使用してデータバインドフィールドを参照します.次の例に示します.
各Webサーバコントロールは、異なるテンプレートをサポートします.たとえば、RepeaterコントロールはItemTemplateとAlternatingItemTemplateをサポートし、交互のコントロール、スタイル、タグを使用してデータを表示します.
Visual Studioにバインドされたテンプレート化コントロールのデータは、GridView、DetailsView、FormView、ListView、DataList、またはRepeaterコントロールなどのコントロールを、LinqDataSource、ObjectDataSource、またはSqlDataSourceコントロールなどのデータソースコントロールに関連付けることができます.また、デザイナでは、コントロールのテンプレート(ListView、DataList、Repeater、FormViewコントロールにはテンプレートが必要)を使用して、ユーザーインタフェース(UI)をカスタマイズしてデータ表示形式を定義することもできます.このトピックでは、TextBoxコントロールなどのユーザーインタフェースコントロールをテンプレートに追加し、特定のデータにバインドする方法を示します.テンプレートコントロールをデータソース1にバインドする.ページに有効なデータソース(SqlDataSourceコントロールなど)を作成し、ID属性値に注意します.例:
SqlDataSourceコントロールをデータベースに使用する方法の詳細については、SqlDataSourceWebサーバコントロールの概要を参照してください.
2.ツールボックスの「データ」グループから、DataListコントロールをページにドラッグします.
「DataListタスク」ショートカットメニューが表示されます.
「DataListタスク」ショートカットメニューが表示されない場合は、DataListコントロールを右クリックし、「スマートタグの表示」をクリックします.
3.「データ・ソースの選択」リストで、手順1で作成したSqlDataSourceコントロールをクリックします.
このページが表示されると、コントロールにはカスタマイズされていないクエリーからのすべての列とデータが表示されます.データによっては、次のコード例に示すように、表示されるDataListコントロールにデフォルトのバインドフィールドが表示されます.
コントロールのテンプレート1を編集します.デザインビューでDataListコントロールを右クリックし、[スマートタグを表示]をクリックします.
2.「DataListタスク」メニューで「テンプレートの編集」をクリックします.
デザイナでテンプレートを編集できるようになりました.他のコントロールをテンプレートにドラッグして、後でバインドできます.
3.「表示」リストで「AlternatingItemTemplate」をクリックします(異なるコントロールでは異なるテンプレートがサポートされています).
4.AlternatingItemTemplate設計スペースにCustomerID:を入力し、「ツールボックス」の「標準」グループからT:Systemを入力します.Web.UI.WebControls.LabelコントロールをDataListコントロールにドラッグします.
5.「Labelタスク」メニューで「データバインディングの編集」をクリックします.
6.「ラベル名データバインド」ダイアログ・ボックスの「バインド可能属性」で、「Text」をクリックします.
7.「バインド先」リストの「テキストのバインド」で「CustomerID」をクリックします.
8.CompanyNameの手順4~7を繰り返します.
9.「AlternatingItemTemplate」デザインスペースで、すべてのコンテンツを選択し、Ctrl+Bを押してテキストを太字に変更します.
10.DataListコントロールを右クリックし、「スマートタグの表示」をクリックします.
11.「テンプレート編集の終了」をクリックしてテンプレート編集モードを終了します.
ページがブラウザに表示されると、会社のリストは純粋なテキストと太字のテキストとして交互に表示されます.
2.ASPなどのテンプレートをサポートするコントロールを追加する.NET FormViewコントロール.3.テンプレート化コントロールのデータソースID属性を、手順1のデータソースコントロールのIDに設定します.この例では、次のようになります.
4.テンプレート化コントロールにテンプレートを追加し、コントロールとタグを使用してテンプレートを埋めます.5.データを表示するには、Eval関数を属性設定として使用し、バインドデータフィールドを参照します.データの挿入または編集に使用するテンプレートで、Bind関数を使用してデータバインドフィールドを参照します.次の例に示します.
Product ID:
Product Name:
Category ID:
Quantity Per Unit:
Unit Price:
各Webサーバコントロールは、異なるテンプレートをサポートします.たとえば、RepeaterコントロールはItemTemplateとAlternatingItemTemplateをサポートし、交互のコントロール、スタイル、タグを使用してデータを表示します.
Visual Studioにバインドされたテンプレート化コントロールのデータは、GridView、DetailsView、FormView、ListView、DataList、またはRepeaterコントロールなどのコントロールを、LinqDataSource、ObjectDataSource、またはSqlDataSourceコントロールなどのデータソースコントロールに関連付けることができます.また、デザイナでは、コントロールのテンプレート(ListView、DataList、Repeater、FormViewコントロールにはテンプレートが必要)を使用して、ユーザーインタフェース(UI)をカスタマイズしてデータ表示形式を定義することもできます.このトピックでは、TextBoxコントロールなどのユーザーインタフェースコントロールをテンプレートに追加し、特定のデータにバインドする方法を示します.テンプレートコントロールをデータソース1にバインドする.ページに有効なデータソース(SqlDataSourceコントロールなど)を作成し、ID属性値に注意します.例:
SqlDataSourceコントロールをデータベースに使用する方法の詳細については、SqlDataSourceWebサーバコントロールの概要を参照してください.
2.ツールボックスの「データ」グループから、DataListコントロールをページにドラッグします.
「DataListタスク」ショートカットメニューが表示されます.
「DataListタスク」ショートカットメニューが表示されない場合は、DataListコントロールを右クリックし、「スマートタグの表示」をクリックします.
3.「データ・ソースの選択」リストで、手順1で作成したSqlDataSourceコントロールをクリックします.
このページが表示されると、コントロールにはカスタマイズされていないクエリーからのすべての列とデータが表示されます.データによっては、次のコード例に示すように、表示されるDataListコントロールにデフォルトのバインドフィールドが表示されます.
コントロールのテンプレート1を編集します.デザインビューでDataListコントロールを右クリックし、[スマートタグを表示]をクリックします.
2.「DataListタスク」メニューで「テンプレートの編集」をクリックします.
デザイナでテンプレートを編集できるようになりました.他のコントロールをテンプレートにドラッグして、後でバインドできます.
3.「表示」リストで「AlternatingItemTemplate」をクリックします(異なるコントロールでは異なるテンプレートがサポートされています).
4.AlternatingItemTemplate設計スペースにCustomerID:を入力し、「ツールボックス」の「標準」グループからT:Systemを入力します.Web.UI.WebControls.LabelコントロールをDataListコントロールにドラッグします.
5.「Labelタスク」メニューで「データバインディングの編集」をクリックします.
6.「ラベル名データバインド」ダイアログ・ボックスの「バインド可能属性」で、「Text」をクリックします.
7.「バインド先」リストの「テキストのバインド」で「CustomerID」をクリックします.
8.CompanyNameの手順4~7を繰り返します.
9.「AlternatingItemTemplate」デザインスペースで、すべてのコンテンツを選択し、Ctrl+Bを押してテキストを太字に変更します.
10.DataListコントロールを右クリックし、「スマートタグの表示」をクリックします.
11.「テンプレート編集の終了」をクリックしてテンプレート編集モードを終了します.
ページがブラウザに表示されると、会社のリストは純粋なテキストと太字のテキストとして交互に表示されます.