不显示任何行的gridview问题 [英] problem with gridview that doesn't display any row

查看:90
本文介绍了不显示任何行的gridview问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

即使我在gridview标签下指定ShowHeaderWhenEmpty ="true"和"EmptyDataTemplate",我的网格视图也不会显示任何行:

My grid view isn''t displayed any row even if the i specify ShowHeaderWhenEmpty="true" and "EmptyDataTemplate" under the gridview tag:

<asp:GridView ID="GridView1" runat="Server" AutoGenerateColumns="False" BorderWidth="1"

        DataKeyNames="AutoID" AutoGenerateEditButton="True" OnRowEditing="EditRecord"

        OnRowCancelingEdit="CancelRecord" OnRowUpdating="UpdateRecord" CellPadding="4"

        HeaderStyle-HorizontalAlign="left" OnRowDeleting="DeleteRecord" RowStyle-VerticalAlign="Top"

        ForeColor="#333333" GridLines="None" ShowHeaderWhenEmpty="true">
        <EmptyDataTemplate>
            <asp:Label ID="norecord" Text="no data was found" runat="server"></asp:Label>
        </EmptyDataTemplate>
        <Columns>
            <asp:BoundField DataField="AutoID" HeaderText="AutoID" />
            <asp:TemplateField HeaderText="Page Name">
                <ItemTemplate>
                    <%# Eval("PageName") %>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txtPageName" runat="Server" Text='<%# Eval("PageName") %>' Columns="30"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="req1" runat="Server" Text="*" ControlToValidate="txtPageName"></asp:RequiredFieldValidator>
                </EditItemTemplate>
            </asp:TemplateField>
           
        </Columns>
        <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
        <RowStyle BackColor="#FFFBD6" ForeColor="#333333" VerticalAlign="Top" />
        <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
        <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
        <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
        <AlternatingRowStyle BackColor="White" />

    </asp:GridView>


这是我背后的代码


and this is my code behind

Imports System.Data.SqlClient

Public Class _Default
    Inherits System.Web.UI.Page
    Dim connStr As String = ConfigurationManager.ConnectionStrings("Cstring").ToString
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        BindData()
    End Sub

    ''' <summary>
    ''' Bind data to the grid
    ''' </summary>
    Private Sub BindData()
        Dim conn As SqlConnection = New SqlConnection(connStr)
        Dim dAd As SqlDataAdapter = New SqlDataAdapter("select * from Page", conn)
        Dim dSet As DataSet = New DataSet
        Try
            dAd.Fill(dSet)
            GridView1.DataSource = dSet
            GridView1.DataBind()
        Catch ee As Exception
            lblMessage.Text = ee.Message.ToString
        Finally
            dSet.Dispose()
            dAd.Dispose()
            conn.Close()
            conn.Dispose()
        End Try
    End Sub   
    End Class


最后是web.config


and finaly the web.config

<?xml version="1.0"?>

<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
  <connectionStrings>
    <add name="Cstring"

         connectionString="data source=.\SQLEXPRESS;Integrated Security=sspi;Database=Test;"

         providerName="System.Data.SqlClient" />
  </connectionStrings>

 </configuration>

推荐答案

尝试更改:

try to change:

GridView1.DataSource = dSet







by

GridView1.DataSource = dSet.Tables(0)



或使用自动生成来测试gridview,然后将其设置为false



or test gridview by using auto generation, than turn it false

AutoGenerateColumns="False" 

AutoGenerateColumns="True"


这篇关于不显示任何行的gridview问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆