无法在asp.net应用程序中看到网格视图

时间:2013-07-29 14:40:55

标签: asp.net sql gridview

这是我的.aspx页面的一部分

<div>
    <asp:GridView ID="gvPredstave" runat="server" CssClass="gridview" AlternatingRowStyle-CssClass="even">
    </asp:GridView>
</div>

这是我的代码隐藏

OracleCommand cmd = new OracleCommand();
        OracleDataReader reader;
        cmd.Connection = conn;
        DataTable table = new DataTable();

        cmd.CommandText = "select ime_predstave from predstava";
        cmd.CommandType = CommandType.Text;
        reader = cmd.ExecuteReader();

        table.Load(reader);
        gvPredstave.DataSource = table;
        gvPredstave.DataBind();

当我启动我的应用程序时,我没有看到gridview.Any帮助?

1 个答案:

答案 0 :(得分:1)

您需要在网格视图标记中设置AutoGenerateColumns属性,如下所示:

<asp:GridView ID="gvPredstave" runat="server" CssClass="gridview" AlternatingRowStyle-CssClass="even" AutoGenerateColumns="True">
</asp:GridView>

注意:无论是从数据库返回什么内容都不会显示,因为您还没有告诉网格视图“显示什么”。将AutoGenerateColumns设置为True会指示网格视图从数据库中获取任何列,并将它们作为网格中的列,因此您可能会获得比{{1}更吸引人的列标题例如。

要控制要在网格视图中显示的列以及这些列的名称应该是什么,那么您需要使用网格视图的SYSTEM_ID属性声明列,如下所示:< / p>

Columns

注意:当明确声明<asp:GridView ID="gvPredstave" runat="server" CssClass="gridview" AlternatingRowStyle-CssClass="even"> <Columns> <asp:boundfield datafield="SYSTEM_ID" headertext="System ID"/> </Columns> </asp:GridView> 属性时,请确保删除Columns属性,这样就不会同时渲染这两个属性,一个值不会胜过另一个;你会得到两个。

有关AutoGenerateColumns GridView媒体资源的详情,请阅读MSDN documentation for GridView.Columns Property