0

我有一个网格视图。没有任何数据时,如何在我的页面中查看列标题?
我试试这个:

<Empty Data Template>
      no data.
</Empty Data Template>  

但这不是我想要的。即使其中没​​有数据,我也想显示我的网格视图的列。请帮帮我!

4

4 回答 4

1

尝试这个

1) 添加ShowHeaderWhenEmpty="True"到您的 GridView

<asp:GridView ShowHeaderWhenEmpty="true" runat="server" />

2)您的 GridView 必须绑定到数据源(至少是一个空集合)才能显示空模板

   GridView1.DataSource = [Some DataSource Here];
   GridView1.DataBind();
于 2013-06-26T15:55:34.127 回答
1

如果您的目标是 c# 4.0+,您可以使用ShowHeaderWhenEmpty属性,否则,您需要添加一些自定义代码。

于 2013-06-26T15:53:55.167 回答
0

你有两种方法可以做到:

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 有一些问题。

于 2013-06-26T17:29:04.347 回答
0

在这里你会找到你需要的:

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>
于 2013-06-26T15:55:34.433 回答