GridView、およびそれが何で食べられるか

このトピックでは、ASP.NET GridViewコントロールについて説明します。 多くの新規参入者は、このコントロールを使用する際に問題に遭遇することが多いと思います。 問題もありました。 このコントロールを単独で使用することはほとんど意味がないことに注意してください。 SqlDataSource、LinqDataSource、ObjectDataSourceなどのデータソースのいずれかで使用すると、すべての機能を発揮します。
私の例では、ObjectDataSourceを使用します。


そのため、ここに簡単な例を示します。

< asp:GridView ID ="OperationHistoryList" runat ="server"
DataSourceID ="OpHistoryListDS"
AllowPaging ="True"
PageSize ="15"
CssClass ="data" AutoGenerateColumns ="False"
onload ="OperationHistoryList_Load"
EnableViewState ="False" >
< Columns >
< asp:BoundField DataField ="" />
< asp:BoundField DataField ="" />
< asp:BoundField DataField ="" />
</ Columns >

</ asp:GridView >

* This source code was highlighted with Source Code Highlighter .


ここで私たちにとって何が面白いですか? まず、値が「server」のrunat属性が必要です。 2番目はDataSourceIDです。 値は、ページにあるデータソースの識別子です。 1つの重要なポイント-GridViewはサーバーフォーム内でのみ使用できます- <form runat =” server”> 。 次の2つの属性AllowPagingおよびPageSizeがページング用に設定されています。 GridViewはページングをサポートしています。 ただし、ObjectDataSourceを使用する場合は、ページングを手動で整理する必要があります。 私のプロジェクトでは、私たちの会社で書かれたORMを使用してページングを有効にし、データベースにsqlクエリを再描画する必要があります。 SqlDataSourceを使用すると、手をひねることができます。 CssClass-それ自体が語っています。 AutoGenerateColumns =” false”-あなたが決定します。 表示する列(ネストされたColumns要素を参照)。 一見、複雑なことは何もありません。 以下は、このGridView用に構成されたObjectDataSourceです

< asp:ObjectDataSource ID ="OpHistoryListDS" runat ="server"
SelectMethod ="SelectByMaster"
TypeName ="OperationHistory"
EnableViewState ="false" >
< SelectParameters >
< asp:Parameter Name ="maximumRows" Type ="Int32" />
< asp:Parameter Name ="startRowIndex" Type ="Int32" />
< asp:QueryStringParameter Name ="masterId" QueryStringField ="parent_id" Type ="String" />
</ SelectParameters >
</ asp:ObjectDataSource >


* This source code was highlighted with Source Code Highlighter .


今のところ、理由を説明しません。 これについては、後でGridViewとObjectDataSourceを使用してページングを整理するときに触れます。

GridViewはテンプレートをサポートしています。 テンプレートテンプレートは、ソースが空のデータを返した場合(空であるか、何も返さなかった場合、より明確になる)だけでなく、ページング用に設定できます。
さらに、GridViewのすべての構成要素(ヘッダー、ページャー、行、セルなど)に対して幅広いスタイル設定が可能です。

さて、とりあえずGridViewの紹介を終わります。 後で、ページング、分離コードからの設定、ObjectDataSourceのデータ選択メソッドの作成などについて説明します。

すべての質問に答えようとします。 聞いて

UPD:明日、ページングについて、レベルがmsdnより高くなることを願っています:)
今日は少し力を計算しなかったので、少し書きました

Source: https://habr.com/ru/post/J44885/


All Articles