首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView控件数据为空时,不能正常显示的有关问题

2012-01-13 
GridView控件数据为空时,不能正常显示的问题我已经设置了 EmptyDataTemplate ,可是数据为空时,仍然不能

GridView控件数据为空时,不能正常显示的问题
我已经设置了 <EmptyDataTemplate> ,可是数据为空时,仍然不能正常显示表头。

为此,我在网上找了很多资料,按照其中的方法做了测试程序,在测试程序中,数据为空时是正常的,但是只要迁移到项目中,就不成功,代码如下:

……
<asp:GridView   ID= "GridView1 "   runat= "server "   cssselectorclass= "PrettyGridView "   SkinID= "SampleGridView "                                                                         AllowPaging= "True "   AllowSorting= "True "   OnRowDeleting= "GridView1_RowDeleting "   OnSelectedIndexChanged= "GridView1_SelectedIndexChanged "                                                                         AutoGenerateColumns= "False "   DataKeyNames= "NeEngName "   OnDataBound= "GridView1_DataBound "                                                                         DataSourceID= "ObjectDataSource1 "   PageSize= "15 ">                                                                         <EmptyDataTemplate>
<table   cellpadding= "0 "   cellspacing= "0 "   summary= " ">
<thead>
<tr>                                         <th   scope= "col "> 中文名 </th>
……                                         </tr>
</thead>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField   HeaderText= "中文名 ">
<EditItemTemplate>
<asp:TextBox   ID= "TextBox1 "   runat= "server "   Text= ' <%#   Bind( "NeChsName ")   %> '> </asp:TextBox>
</EditItemTemplate>
……
<ItemTemplate>
<asp:Label   ID= "Label1 "   runat= "server "   Text= ' <%#   Bind( "NeChsName ")   %> '> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField   HeaderText= "修改 ">
<ItemTemplate>
<asp:LinkButton   ID= "NeSelect "   Text= "修改 "   CommandName= "Select "   Width= "40px "   runat= "server "   />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField   HeaderText= "删除 ">
<ItemTemplate>
<asp:LinkButton   ID= "NeDelete "   runat= "server "   CausesValidation= "False "   CommandName= "Delete "   Width= "40px "   Text= "删除 "   OnClientClick= "return   confirm( '确认要删除此行信息吗? ') "> </asp:LinkButton>


</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerTemplate>
</PagerTemplate>
</asp:GridView>
…………

C#代码如下:

……
DataTable   dt   =   new   DataTable();
dt.Columns.Add(new   DataColumn( "NeChsName ",   typeof(string)));
……
DataRow   dr   =   dt.NewRow();
foreach   (Ne   n   in   arrNe)
{
dr   =   dt.NewRow();
dr[0]   =   n.NeChsName;
……
dt.Rows.Add(dr);
}
return   dt;
……

[解决办法]
datatable增加的列,不要放到一起,要另外重新邦定,不然,你NewRow当然会显示出来
[解决办法]
我认为不用过多设置,数据为空时仍然绑定数据就会达到LZ的效果啊
[解决办法]
苏鹏刚讲了一课,其中就有说到没有数据时,如何显示表头.
应该正合你意.webcast上找一下吧.

[解决办法]
看不出什么问题来,你有没有写GridView1.DataBind()
[解决办法]
dingjian2008(ajax有那么热么)
===================================
说的对,我的就显示
[解决办法]
方法1:设置 <EmptyDataTemplate>
方法2:新建一个空的 DataTable ,NewRow 后绑定,如果有 非绑定列,特殊处理
[解决办法]
if(DataSet.Table[0].Rows.Count==0)
{
//隐藏修改和删除按钮
}
[解决办法]
没有就不要显示好了!最简单!
[解决办法]
介绍三个C#技术群:
C#程序员在长沙1 群号:15283069
C#程序员在长沙2 群号:8689365
C#程序员在长沙3 群号:15082848
[解决办法]
绑定

热点排行