asp自定义GridView Columns
时间: 2023-08-05 17:05:21 浏览: 83
自定义GridView
ASP.NET GridView 控件可以通过绑定数据源来自动生成列,但如果需要自定义列的样式、行为或内容,可以使用自定义列的方式来实现。
以下是一些常见的自定义列方式:
1. TemplateField:通过在GridView 中添加 TemplateField 列,可以在列中添加自定义的 HTML 或控件。例如,可以在列中添加 LinkButton 或 Image 控件,以实现可点击的链接或图像。
2. BoundField:通过在 GridView 中添加 BoundField 列,可以设置列的数据绑定方式和格式化方式。例如,可以设置日期列的显示格式。
3. CommandField:通过在 GridView 中添加 CommandField 列,可以添加自定义的命令按钮,例如“编辑”、“删除”等。
4. HyperLinkField:通过在 GridView 中添加 HyperLinkField 列,可以实现类似于 TemplateField 的效果,但是只能添加超链接。
以下是一个示例,展示如何使用 TemplateField 和 BoundField 实现自定义列:
```asp
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Customer Name">
<ItemTemplate>
<asp:Label ID="lblCustomerName" runat="server" Text='<%# Eval("CustomerName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="OrderDate" HeaderText="Order Date" DataFormatString="{0:d}" />
<asp:TemplateField HeaderText="Order Total">
<ItemTemplate>
<asp:Label ID="lblOrderTotal" runat="server" Text='<%# Eval("OrderTotal", "{0:c}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
```
在上面的示例中,我们添加了三个列:一个使用 TemplateField 显示客户名称,一个使用 BoundField 显示订单日期,一个再次使用 TemplateField 显示订单总额。我们还使用 Eval 函数绑定了数据源中的字段。
注意,当使用自定义列时,需要设置 GridView 的 AutoGenerateColumns 属性为 False,否则 GridView 会自动创建列并覆盖我们添加的自定义列。
阅读全文