私のグリッドビューには、aspx デザイナーからバインドされたテンプレート フィールドがあります。私はそれにデータテーブルをバインドしています。これで、アクション ボタンがほとんどないテンプレート フィールドが最初の列になります。テンプレートフィールドの前にデータテーブル列を配置する方法はありますか?
GridView のデザイナーからのコード:
<asp:GridView ID="JobListGrid" runat="server" AutoGenerateColumns="false" >
<Columns>
<asp:TemplateField HeaderText="Actions">
<ItemTemplate>
<div>
<asp:ImageButton ID="View" CssClass="imgbutton" ToolTip="View Pdf" runat="server"
CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>' ImageUrl="~/Content/pdf.PNG" CommandName="View" Width="36" Height="36" OnClientClick='<%# Eval("JobID", "OpenInNewWindow(\"{0}\").ToString()") %>' />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
CS コード:
JobListGrid.DataSource = dataTableObj;
JobListGrid.DataBind();
上記のコードは、次のようなグリッド ビュー ヘッダーを示しています。
TemplateField | Col1 | Col2 | Col3
Templatefield を最後にする必要があります。col1、col、col3 はデータテーブルから取得しています。