CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

DataGrid分页报错!

楼主wxyzy(云宇)2005-01-31 14:59:48 在 .NET技术 / ASP.NET 提问

AllowCustomPaging   must   be   true   and   VirtualItemCount   must   be   set   for   a   DataGrid   with   ID   DataGrid1   when   AllowPaging   is   set   to   true   and   the   selected   datasource   does   not   implement   ICollection.    
  Description:   An   unhandled   exception   occurred   during   the   execution   of   the   current   web   request.   Please   review   the   stack   trace   for   more   information   about   the   error   and   where   it   originated   in   the   code.    
   
  Exception   Details:   System.Web.HttpException:   AllowCustomPaging   must   be   true   and   VirtualItemCount   must   be   set   for   a   DataGrid   with   ID   DataGrid1   when   AllowPaging   is   set   to   true   and   the   selected   datasource   does   not   implement   ICollection.  
   
  Source   Error:    
   
   
  Line   47:                   Dim   str   As   String   =   "Select   *   from   fileinfo   where   1=0"  
  Line   48:                   DataGrid1.DataSource   =   d.ExecuteReader(str)  
  Line   49:                   DataGrid1.DataBind()  
  Line   50:           End   Sub  
   
     
  问题点数:100、回复次数:11Top

1 楼hedonister(冰戈)回复于 2005-01-31 15:03:14 得分 2

datareader   不会实现Icollection   接口,换成dataview   吧Top

2 楼warren1999(warren1999)回复于 2005-01-31 15:04:32 得分 1

允许自定义分页没有选中Top

3 楼liulxmooo(娃娃)回复于 2005-01-31 15:06:11 得分 1

upTop

4 楼jackymi(完美刺客)回复于 2005-01-31 15:06:20 得分 0

同上Top

5 楼fanweiwei(黑暗凝聚力量,堕落方能自由)回复于 2005-01-31 15:06:38 得分 0

xuexiTop

6 楼hedonister(冰戈)回复于 2005-01-31 15:06:38 得分 1

把代码贴出来,帮你该Top

7 楼hedonister(冰戈)回复于 2005-01-31 15:07:37 得分 2

自定义分页没有选中了,也没法分页datareader   不会实现Icollection   接口Top

8 楼AllenTing(今天你GC了吗???)回复于 2005-01-31 15:09:02 得分 2

用dataview作为数据源,datareader是不行的Top

9 楼mooddecode1980(心情解码)回复于 2005-01-31 15:09:28 得分 0

up  
   
   
   
   
   
   
   
   
   
  -----Top

10 楼spland(spland)回复于 2005-01-31 15:09:43 得分 1

Dim   dadpt   As   SqlDataAdapter   =   New   SqlDataAdapter(selectcmd)  
                  Dim   dset   As   DataSet   =   New   DataSet  
                  dadpt.Fill(dset)  
  Line   48:                   DataGrid1.DataSource   =   dset  
  Line   49:                   DataGrid1.DataBind()  
  Top

11 楼goody9807(http://goody9807.cnblogs.com)回复于 2005-01-31 15:21:23 得分 90

DataGrid是Asp.NET中的一个重要的控件,经常我们都将DataGrid做成可分页的和可排序的,有时还需要加上选择功能。这些都是经常需要用到的方法,其实是比较简单的。  
   
  设计思路:  
  为了方便起见,我们连接SQL   Server   2000的NorthWind数据库的Orders表,从数据库里得到此表的数据视图。利用DataGrid的SortCommand事件实现排序。用一个模板列加上CheckBox控件实现选择。可用DataGrid的属性生成器的“分页”选项或者自己修改HTML实现分页。  
   
  HTML:  
  l     添加一个DataGrid,命名为dgOrder。  
  l     添加了一个模板列,模板列里放一个名为Cb的CheckBox控件。此列用来实现选择  
  l     为要排序的每个列加上排序表达式SortExpression。  
  l     利用列的DataFormatString来格式化列,象DataFormatString="{0:d}"显示日期格式。  
  l     设置PageSize="15"每页显示15行数据,AllowPaging="True"   为允许分页   。  
   
  整个HTML页代码:    
  <form   id="Form1"   method="post"   runat="server">  
  <asp:datagrid   id="dgOrder"   runat="server"   Height="515px"   Width="718px"   AutoGenerateColumns="False"   AllowSorting="True"   CellPadding="4"   BorderWidth="1px"   BorderColor="#A0ABEB"   PageSize="15"   BorderStyle="Solid"   BackColor="White"   GridLines="Vertical"   ForeColor="Black"   AllowPaging="True"   ShowFooter="True">  
  <SelectedItemStyle   ForeColor="White"   BackColor="Black"></SelectedItemStyle>  
  <AlternatingItemStyle   BackColor="#EEEEEE"></AlternatingItemStyle>  
  <HeaderStyle   HorizontalAlign="Center"   ForeColor="White"   BorderColor="#6876C5"   BackColor="#6876C5"></HeaderStyle>  
  <FooterStyle   ForeColor="White"   BackColor="#6876C5"></FooterStyle>  
  <Columns>  
  <asp:TemplateColumn>  
  <ItemTemplate>  
  <FONT   face="">  
  <asp:CheckBox   id="Cb"   runat="server"></asp:CheckBox></FONT>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
  <asp:BoundColumn   DataField="orderid"   SortExpression="orderid"   HeaderText="ID">  
  <HeaderStyle   Width="180px"></HeaderStyle>  
  </asp:BoundColumn>  
  <asp:BoundColumn   DataField="ShipCountry"   SortExpression="ShipCountry"   HeaderText="ShipCountry">  
  <HeaderStyle   Width="180px"></HeaderStyle>  
  </asp:BoundColumn>  
  <asp:BoundColumn   DataField="ShippedDate"   SortExpression="ShippedDate"   HeaderText="ShippedDate"   DataFormatString="{0:d}">  
  <HeaderStyle   Width="180px"></HeaderStyle>  
  </asp:BoundColumn>  
  <asp:BoundColumn   DataField="Freight"   SortExpression="Freight"   HeaderText="Freight">  
  <HeaderStyle   Width="180px"></HeaderStyle>  
  </asp:BoundColumn>  
  <asp:BoundColumn   DataField="ShipAddress"   SortExpression="ShipAddress"   HeaderText="ShipAddress">  
  <HeaderStyle   Width="480px"></HeaderStyle>  
  </asp:BoundColumn>  
  </Columns>  
  <PagerStyle   HorizontalAlign="Center"   ForeColor="Black"   Position="TopAndBottom"   BackColor="White"   Mode="NumericPages"></PagerStyle>  
  </asp:datagrid>  
  </form>  
  后台代码:    
  '得到数据视图,参数为要排序的列  
  Private   Function   GetDv(ByVal   strSort   As   String)   As   DataView  
                  '定义数据库连接  
                  Dim   dv   As   DataView  
                  Dim   CN   As   New   SqlConnection()  
                  Try  
                          '初始化连接字符串  
                          CN.ConnectionString   =   "data   source=pmserver;  
                          initial   catalog=Northwind;persist   security   info=False;user   id=sa;Password=sa;"  
                          CN.Open()  
  '从NorthWind得到orders表的数据  
                          Dim   adp   As   SqlDataAdapter   =   New   SqlDataAdapter("select   *   from   orders",   CN)  
                          Dim   ds   As   New   DataSet()  
                          adp.Fill(ds)  
                          '得到数据视图  
                          dv   =   ds.Tables(0).DefaultView  
                  Catch   ex   As   Exception  
  #If   DEBUG   Then  
                          Session("Error")   =   ex.ToString()  
                          Response.Redirect("../error.aspx")                 '跳转程序的公共错误处理页面  
  #End   If  
                  Finally  
                          '关闭连接  
                          CN.Close()  
                  End   Try  
                  '排序  
                  dv.Sort   =   strSort  
                  Return   dv  
          End   Function  
   
          Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)    
          Handles   MyBase.Load  
                  If   Not   IsPostBack   Then  
                          ViewState("strSort")   =   "orderid"  
                          dgOrder.DataSource   =   GetDv(ViewState("strSort").ToString())  
                          dgOrder.DataBind()  
                  End   If  
          End   Sub  
  '排序  
          Private   Sub   dgOrder_SortCommand(ByVal   source   As   Object,    
          ByVal   e   As   System.Web.UI.WebControls.DataGridSortCommandEventArgs)   Handles   dgOrder.SortCommand  
                  dgOrder.CurrentPageIndex   =   0  
        '得到排序的列  
                  ViewState("strSort")   =   e.SortExpression.ToString()  
                  dgOrder.DataSource   =   GetDv(ViewState("strSort").ToString())  
                  dgOrder.DataBind()  
          End   Sub  
   
  '分页  
          Private   Sub   dgOrder_PageIndexChanged(ByVal   source   As   Object,    
          ByVal   e   As   System.Web.UI.WebControls.DataGridPageChangedEventArgs)   Handles   dgOrder.PageIndexChanged  
        '得到分页的页号  
                  dgOrder.CurrentPageIndex   =   e.NewPageIndex  
                  dgOrder.DataSource   =   GetDv(ViewState("strSort").ToString())  
                  dgOrder.DataBind()  
          End   Sub    
   
  Top

相关问题

  • c# DataGrid分页报错---很奇怪-----晕
  • 紧急求助,datagrid分页后过滤报错!!!,高手帮忙看看
  • 对DataGrid做分页时,报错:Control 'dgrdProducts__ctl7__ctl1' of type 'DataGridLinkButton' must be placed inside a form tag with
  • DataGrid的分页
  • DATAGRID分页
  • DataGrid分页研究
  • DataGrid分页问题!!!!!!!!!!
  • datagrid分页问题:
  • DataGrid分页出错!
  • DataGrid分页问题

关键词

  • datagrid
  • 排序
  • 视图
  • 模板
  • 数据
  • 控件
  • dv
  • 数据库
  • 连接
  • ds

得分解答快速导航

  • 帖主:wxyzy
  • hedonister
  • warren1999
  • liulxmooo
  • hedonister
  • hedonister
  • AllenTing
  • spland
  • goody9807

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo