不显示任何行的gridview问题 [英] problem with gridview that doesn't display any row
本文介绍了不显示任何行的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屋!
查看全文