这是我的网格视图:
<asp:GridView ID="gridview" runat="server" AutoGenerateColumns="true">
<Columns>
<asp:TemplateField HeaderText="TestColumn">
<ItemTemplate>
<asp:LinkButton ID="lkbtn" runat="server" Text="Edit"
CommandName="Update" CausesValidation="False" ToolTip="Edit" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>TestColumn最终成为第一列,但我希望它在自动生成的列之后。
发布于 2016-07-24 03:22:43
在RowDataBound事件处理程序中,可以将TemplateField单元格从第一列移动到行的末尾:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
TableCell cell = e.Row.Cells[0];
e.Row.Cells.RemoveAt(0);
e.Row.Cells.Add(cell);
}发布于 2015-09-21 12:21:16
恐怕这是不可能的。读取MS文档
还可以将显式声明的列字段与自动生成的列字段组合起来。使用这两个字段时,首先呈现显式声明的列字段,然后是自动生成的列字段。自动生成的绑定列字段不会添加到列集合中。
发布于 2011-08-02 13:48:46
您可以将AutoGenerateColumnProperty设置为false,然后按照您的意愿对列进行排序。
如果您只想添加一个编辑按钮,您应该使用:
<asp:CommandField ShowEditButton="True" />下面是一个使用northwind数据库的示例
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="ProductID"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="ProductID"
InsertVisible="False" ReadOnly="True" SortExpression="ProductID" />
<asp:BoundField DataField="ProductName" HeaderText="ProductName"/>
<asp:BoundField DataField="SupplierID" HeaderText="SupplierID" />
<asp:BoundField DataField="CategoryID" HeaderText="CategoryID"/>
<asp:BoundField DataField="QuantityPerUnit" HeaderText="QuantityPerUnit"/>
<asp:BoundField DataField="UnitPrice" HeaderText="UnitPrice" />
<asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock" />
<asp:BoundField DataField="UnitsOnOrder" HeaderText="UnitsOnOrder" />
<asp:BoundField DataField="ReorderLevel" HeaderText="ReorderLevel" />
<asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued"/>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>https://stackoverflow.com/questions/6912905
复制相似问题