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 열 필드를 자동으로 생성하도록 하는 대신 속성을 설정한 AutoGenerateColumns 다음 사용자 지정 Columns
컬렉션을 만들어 열 필드를 수동으로 정의할 false
수 있습니다. 바인딩된 열 필드 외에도 단추 열 필드, 확인란 열 필드, 명령 필드, 하이퍼링크 열 필드, 이미지 필드 또는 사용자 지정 정의 템플릿을 기반으로 하는 열 필드를 표시할 수도 있습니다.
명시적으로 선언된 열 필드를 자동으로 생성된 열 필드와 결합할 수도 있습니다. 둘 다 사용되는 경우 명시적으로 선언된 열 필드가 먼저 렌더링되고 그 뒤에 자동으로 생성된 열 필드가 표시됩니다. 자동으로 생성된 바인딩된 열 필드는 컬렉션에 Columns 추가되지 않습니다. 자세한 내용은 Columns를 참조하세요.
이 속성을 true
설정하고 속성을 모델 형식 DynamicField 으로 설정 ItemType 하면 컨트롤이 생성됩니다. 속성을 BoundField 설정 ItemType 하지 않으면 컨트롤이 생성됩니다. 컨트롤을 사용하지 않으려 DynamicField 면 다음과 같은 옵션이 있습니다.
ColumnsGenerator 이벤트 처리기에서
Page_Load
속성을null
설정합니다. 이 경우 BoundField 컨트롤이 생성됩니다.사용자 지정 코드를 작성하여 고유한 ColumnsGenerator 클래스를 만들고 할당하고 해당 클래스의 인스턴스를 컨트롤에 할당하여 필드를 자동으로 생성합니다.
AutoGenerateColumns를
false
로 설정합니다. 이 경우 필드가 생성되지 않으며, 컨트롤(예 BoundField : 또는 ImageField.)을 사용하여 필드를 수동으로 지정해야 합니다.ItemType 속성은 설정하지 않습니다. 이 경우 BoundField 컨트롤이 생성됩니다.