如何从gridview显示数据

时间:2010-05-06 09:28:56

标签: asp.net gridview

我只是添加了网格视图并添加了列并给出了headertext 但是当我运行应用程序时,我无法看到任何网格,至少我应该看到网格列名称

我是否需要做更多的事情

4 个答案:

答案 0 :(得分:1)

确认您已正确连接所有内容并分配DataSource并执行DataBind()。一旦确认这两件事情正在发生,那么请确保您的DataSource返回某种类型的结果集,其中包含至少一个项目。

除非结果集中至少有1个项目,否则GridView将不会显示任何内容。如果绑定到DataSet或某种类型的对象列表,并且其中没有项目,则网格将根本不显示。甚至没有标题。在这种情况下,您应该设置EmptyDataText属性以显示内容。

如果没有,如果这有帮助,请发布您的GridView标记和绑定网格的代码,我会看看是否可以找出问题所在。

答案 1 :(得分:0)

检查aspx页面代码

<asp:MyGridView runat="server" DataKeyNames="pkey" AutoUpdateAfterCallBack="true"
            Width="100%"
            ID="grduser" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField HeaderText="Sr No." DataField="rownumber" ReadOnly="true" HeaderStyle-Width="10px"
                    ItemStyle-Width="10px" />

                <asp:BoundField HeaderText="FirstName" DataField="FirstName" SortExpression="FirstName"
                    ReadOnly="true" HeaderStyle-Width="120px" ItemStyle-Width="120px" />
                <asp:BoundField HeaderText="LoginName" DataField="LoginName" SortExpression="LoginName"
                    ReadOnly="true" HeaderStyle-Width="120px" ItemStyle-Width="120px" />
                <asp:BoundField HeaderText="Email" DataField="Email" SortExpression="Email" ReadOnly="true"
                    HeaderStyle-Width="120px" ItemStyle-Width="120px" />
                <asp:BoundField HeaderText="Role" DataField="Role" SortExpression="Role" ReadOnly="true"
                    HeaderStyle-Width="30px" ItemStyle-Width="30px" />
                <asp:BoundField HeaderText="Reportingto" DataField="Reportingto" SortExpression="Reportingto"
                    ReadOnly="true" HeaderStyle-Width="120px" ItemStyle-Width="120px" />
                <asp:BoundField HeaderText="MobileNo" DataField="MobileNo" SortExpression="Mobile_no"
                    ReadOnly="true" HeaderStyle-Width="30px" ItemStyle-Width="30px" />

            </Columns>
        </asp:MyGridView>

用于绑定网格的Cs文件代码

DataSet ds = new DataSet();
ds = //get dataset form the database 
DataView dv = new DataView(ds.Tables[0]);
this.grduser.DataSource = dv;
this.grdusers.DataBind();

答案 2 :(得分:0)

答案 3 :(得分:0)

最简单的方法就像凯尔西所说:

<emptydatatemplate>              
   No Data Found. 
</emptydatatemplate> 

其他技巧:

1)覆盖CreateChildControls(例如:http://forums.asp.net/t/1003306.aspx

2)手动插入一行(例如:http://geekswithblogs.net/dotNETvinz/archive/2009/03/11/tiptrick-show-header-and-footer-of-gridview-when-no-data.aspx