GridView.AutoGenerateColumns プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データ ソース内の各フィールドについてバインドされたフィールドが自動作成されるかどうかを示す値を取得または設定します。
public:
virtual property bool AutoGenerateColumns { bool get(); void set(bool value); };
public virtual bool AutoGenerateColumns { get; set; }
member this.AutoGenerateColumns : bool with get, set
Public Overridable Property AutoGenerateColumns As Boolean
プロパティ値
データ ソースの各フィールドについてバインドされたフィールドが自動作成される場合は true
。それ以外の場合は false
。 既定値は、true
です。
例
次の例では、 プロパティを使用して、データ ソース内の AutoGenerateColumns 各フィールドの連結フィールド列を GridView コントロールに自動的に作成する方法を示します。
<asp:sqldatasource id="CustomersSource"
selectcommand="SELECT CustomerID, CompanyName, FirstName, LastName FROM SalesLT.Customer"
connectionstring="<%$ ConnectionStrings:AWLTConnectionString %>"
runat="server"/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="False"
emptydatatext="No data available."
allowpaging="True"
runat="server" DataKeyNames="CustomerID">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
InsertVisible="False" ReadOnly="True" SortExpression="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
SortExpression="CompanyName" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
</Columns>
</asp:gridview>
<asp:sqldatasource id="CustomersSource"
selectcommand="SELECT CustomerID, CompanyName, FirstName, LastName FROM SalesLT.Customer"
connectionstring="<%$ ConnectionStrings:AWLTConnectionString %>"
runat="server"/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="False"
emptydatatext="No data available."
allowpaging="True"
runat="server" DataKeyNames="CustomerID">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
InsertVisible="False" ReadOnly="True" SortExpression="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
SortExpression="CompanyName" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
</Columns>
</asp:gridview>
注釈
プロパティが AutoGenerateColumns に true
設定されている場合、データ ソース内の AutoGeneratedField フィールドごとにオブジェクトが自動的に作成されます。 その後、各フィールドは、フィールドがデータ ソースに GridView 表示される順序で、コントロール内の列として表示されます。 このオプションを使用すると、データ ソース内のすべてのフィールドを簡単に表示できます。ただし、自動的に生成される列フィールドの表示方法や動作の制御は制限されています。
コントロールに列フィールドをGridView自動的に生成させる代わりに、 プロパティfalse
を に設定AutoGenerateColumnsし、カスタム Columns
コレクションを作成することで、列フィールドを手動で定義できます。 連結列フィールドに加えて、独自のユーザー定義テンプレートに基づいて、ボタン列フィールド、チェック ボックス列フィールド、コマンド フィールド、ハイパーリンク列フィールド、画像フィールド、または列フィールドを表示することもできます。
明示的に宣言された列フィールドと、自動的に生成された列フィールドを組み合わせることもできます。 両方を使用すると、明示的に宣言された列フィールドが最初にレンダリングされ、その後に自動的に生成された列フィールドが表示されます。 自動的に生成されたバインド列フィールドはコレクションに Columns 追加されません。 詳細については、「Columns」を参照してください。
このプロパティを に true
設定し、 プロパティを ItemType モデル型に設定すると、 DynamicField コントロールが生成されます。 プロパティを ItemType 設定しない場合は、 BoundField コントロールが生成されます。 コントロールが不要 DynamicField な場合は、次のオプションがあります。
イベント ハンドラーで プロパティColumnsGeneratorを に
Page_Load
null
設定します。 その場合、 BoundField コントロールが生成されます。独自 ColumnsGenerator のクラスを作成して割り当て、そのインスタンスをコントロールに割り当てることで、フィールドを自動的に生成するカスタム コードを記述します。
AutoGenerateColumns を
false
に設定します。 その場合、フィールドは生成されません。また、 や ImageFieldなどのBoundFieldコントロールを使用してフィールドを手動で指定する必要があります。ItemType プロパティを設定しないでください。 その場合、 BoundField コントロールが生成されます。
適用対象
こちらもご覧ください
.NET