因為DataGrid Web 控件的AutoGenerateColumn 屬性預設為True,表示會自動產生數據源中所有的字段。如果我們想自訂DataGrid Web 控制所要顯示的字段,只要將AutoGenerateColumn屬性設為False,并設定Columns 屬性即可。其設定語法如下所示:
<Property Name="Columns">
<ASP:BoundColumn/>
<ASP:ButtonColumn/>
<ASP:EditCommandColumn/>
<ASP:HyperlinkColumn/>
<ASP:TemplateColumn>
樣版設定...
</ASP:TemplateColumn>
</Property>
DataGrid Web 控件允許我們定義的字段,如下表所示:
下列程序代碼片段展示了這幾種字段:
<ASP:DataGrid Id="dgA" AllowPaging="True" PageSize="5"
OnPageIndexChanged="dgA_PageChg" Runat="Server"
PagerStyle-Mode="NumericPages" BorderColor="#808080"
HeaderStyle-Font-Names="Courier New"
HeaderStyle-BackColor="#D1DCEB"
AutoGenerateColumns="False">
<Property Name="Columns">
<ASP:BoundColumn
HeaderText="姓名"
DataField="UserName"/>
<ASP:ButtonColumn
HeaderText="電話"
ButtonType="PushButton"
DataTextField="UserTel"/>
<ASP:HyperlinkColumn
HeaderText="電郵"
DataNavigateUrlField="UserEmail"
DataTextField="UserEmail"/>
<ASP:TemplateColumn
HeaderText="住址">
<Template Name="ItemTemplate">
<ASP:Image ImageUrl="ico1.gif" Runat="Server"/>
<%#Container.DataItem("UserAdd")%>
</Template>
</ASP:TemplateColumn>
<ASP:EditCommandColumn
HeaderText="編輯"
ButtonType="PushButton"
CancelText="放棄"
EditText="編輯"
UpdateText="確定"/>
</Property>
</ASP:DataGrid>