GridView没有显示

时间:2014-07-25 17:31:01

标签: c# asp.net gridview

出于某种原因,我无法在我的页面上显示Gridview。

<asp:GridView ID="gvCustomers" runat="server" 
CssClass="auto-style2" Width="1057px" AutoGenerateColumns="true" 
ViewStateMode="Enabled">
    </asp:GridView>

背后的代码

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        if (!Page.IsPostBack)
        {
            if (Session["DirtyData"] != null)
            {
                Dirty dirty = Session["DirtyData"] as Dirty;
                char delimiter = '\t';

                DataTable customer = new DataTable();

                #region customer
                string[] customerCol1 = dirty.Customer[0].Split(delimiter);

                foreach (string col in customerCol1)
                {
                    DataColumn column = new DataColumn();
                    column.ColumnName = col;
                    customer.Columns.Add(column);
                    Response.Write(string.Format("Adding Customer Column: {0}<br />", col));
                }

                for (int i = 1; i < dirty.Customer.Count; i++)
                {
                    DataRow row = customer.NewRow();

                    string[] split = dirty.Customer[i].Split(delimiter);

                    for (int x = 0; x < split.Length; x++)
                    {
                        row[i] = split[x];
                    }
                    customer.Rows.Add(row);
                }

                Response.Write("binding customer<br />");
                gvCustomers.DataSource = customer;
                gvCustomers.DataBind();
                gvCustomers.Visible = true;
                #endregion

                Session["DirtyData"] = null;
            }
            else
            {
                Response.Redirect("Login.aspx");
            }
        }
    }
    catch (Exception ex)
    {
        Response.Write(ex.ToString());
    }
}

输出显示添加到网格中的列,因此我知道数据表中包含数据,但页面上没有显示网格。

我不知道我在这里失踪了什么。

2 个答案:

答案 0 :(得分:1)

您的数据为空。您可以通过添加EmptyDataText属性来验证这一点。

<asp:GridView ID="gvCustomers" runat="server" EmptyDataText="No data found!" 
CssClass="auto-style2" Width="1057px" AutoGenerateColumns="true" 
ViewStateMode="Enabled" />

如果没有数据,则不会显示任何列。

要修复,请查看您绑定到GridView的数据。它会是空的。

答案 1 :(得分:-2)

您需要在gridview中添加列。要将数据源绑定到什么位置?您必须在gridview的columns属性中指定BoundField或TemplateFields。