簡體   English   中英

ASP.NET中的GridView不顯示有或沒有數據

[英]GridView in ASP.NET is not displaying with or without data

我正在添加一個GridView,然后從SQL Server數據庫中顯示數據。 問題是GridView沒有在帶有或沒有數據的瀏覽器中顯示。

這是我的代碼:

<asp:GridView ID="GridAllStore"  runat="server" AutoGenerateColumns="False" Width="100%"  ViewStateMode="Enabled">

public partial class AdminPanel : System.Web.UI.Page
{
    storelocatorDataSetTableAdapters.storedbTableAdapter tastore = new storelocatorDataSetTableAdapters.storedbTableAdapter();
    storelocatorDataSetTableAdapters.View_1TableAdapter taview = new storelocatorDataSetTableAdapters.View_1TableAdapter();

    List<storelocatorDataSet.storedbRow> lststore = new List<storelocatorDataSet.storedbRow>();
    List<storelocatorDataSet.View_1Row> lstview = new List<storelocatorDataSet.View_1Row>();
    protected void Page_Load(object sender, EventArgs e)
    {
        lstview = taview.GetData().ToList();
        GridAllStore.DataSource = lstview; 
    }
}

我認為問題是你沒有定義要顯示的任何列。 AutoGenerateColumns設置為false時,必須顯式定義列。

要確保基礎工作正常,請將AutoGenerateColumns設置為true:

<asp:GridView ID="GridAllStore"  runat="server" AutoGenerateColumns="true" Width="100%"  ViewStateMode="Enabled">

AutoGenerateColumns設置為true,分配的數據源和調用的DataBind() ,您應該開始看到一些數據。 一旦開始查看數據,就可以定義要顯示的特定列。

由於您只需要在第一頁加載時綁定網格,因此使用!Page.IsPostBack條件:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        GridAllStore.DataSource = lstview;
        GridAllStore.DataBind();
    }
}

將您的代碼更改為:

protected void Page_Load(object sender, EventArgs e)
{
    lstview = taview.GetData().ToList();
    GridAllStore.DataSource = lstview; 
    GridAllStore.DataBind();
}

並將您的GridView標記更改為:

<asp:GridView ID="GridAllStore"  runat="server" AutoGenerateColumns="True" Width="100%"  ViewStateMode="Enabled" />

注意到它現在是AutoGenerateColumns="True"因為這將顯示數據並生成列。 您可能需要自定義顯示的內容。 要做到這一點,因為你現在還不知道你在做什么,切換到設計視圖,你可以編輯gridview模板。

查看這篇文章,了解一些自定義輸出列和數據的幫助。 http://msdn.microsoft.com/en-us/library/bb288032.aspx

您是否嘗試在設置數據源后立即添加以下行?

GridAllStore.DataBind();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM