我有一个网格视图。没有任何数据时,如何在我的页面中查看列标题?
我试试这个:
<Empty Data Template>
no data.
</Empty Data Template>
但这不是我想要的。即使其中没有数据,我也想显示我的网格视图的列。请帮帮我!
我有一个网格视图。没有任何数据时,如何在我的页面中查看列标题?
我试试这个:
<Empty Data Template>
no data.
</Empty Data Template>
但这不是我想要的。即使其中没有数据,我也想显示我的网格视图的列。请帮帮我!
尝试这个
1) 添加ShowHeaderWhenEmpty="True"
到您的 GridView
<asp:GridView ShowHeaderWhenEmpty="true" runat="server" />
2)您的 GridView 必须绑定到数据源(至少是一个空集合)才能显示空模板
GridView1.DataSource = [Some DataSource Here];
GridView1.DataBind();
如果您的目标是 c# 4.0+,您可以使用ShowHeaderWhenEmpty
属性,否则,您需要添加一些自定义代码。
你有两种方法可以做到:
1-通过模拟里面的输入字段
第一个单元格 第二个单元格 第三个单元格 2-是创建 Empty DataSet 并将其绑定到 GirdView。
如果 ds.Tables(0).Rows.Count > 0 那么 grd_codes.DataSource = ds grd_codes.DataMember = ds.Tables(0).TableName
grd_codes.DataBind()
Else
Try
If ds.Tables(0).Rows.Count = 0 Then
ds.Tables(0).Rows.Add(ds.Tables(0).NewRow())
grd_codes.DataSource = ds
grd_codes.DataBind()
Dim columnCount As Integer = grd_codes.Rows(0).Cells.Count
grd_codes.Rows(0).Cells.Clear()
grd_codes.Rows(0).Cells.Add(New TableCell)
grd_codes.Rows(0).Cells(0).ColumnSpan = columnCount
grd_codes.Rows(0).Cells(0).Text = "No Records Found."
End If
我更喜欢第一种方式,因为 Binding empty DataSet 有一些问题。
在这里你会找到你需要的:
http://msdn.microsoft.com/pt-br/library/system.web.ui.webcontrols.gridview.emptydatatemplate.aspx
我试过了,它有效!
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="true"
runat="server">
<emptydatarowstyle backcolor="LightBlue"
forecolor="Red"/>
<emptydatatemplate>
<asp:image id="NoDataImage"
imageurl="~/images/Image.jpg"
alternatetext="No Image"
runat="server"/>
No Data Found.
</emptydatatemplate>
</asp:gridview>