有没有演示程序,高手请帮忙

解决方案 »

  1.   

    我也不会,除了用SqlDataSource,帮你顶一下
      

  2.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/GridViewEx05.asp
      

  3.   

    http://msdn.microsoft.com/vstudio/tour/vs2005_guided_tour/WebDev/WebDev/webdev13.htm#
    这是详细的用法!!
      

  4.   

    感谢,我看了思归给的这篇,还是没有说详细,只是演示了用ObjectDataSource做的自动分页,我再看看hoowoo这篇
      

  5.   

    晕,hoowoo给的文章也没有说明分页的问题,不过思归给的这篇提了一下方法,虽然没有具体的代码,总算有点帮助了,自己研究研究,如果哪位有现成代码的话请回贴提供一下,谢谢。
    我要的是用ObjectDataSource做数据源时,自定义分页的代码,具体过程是对象用一个方法访问分页存储过程,存储过程传回总记录数和指定页码的记录集,gridview将记录集显示。
      

  6.   

    自己研究了一下,主要疑问在于对象运行获取数据的方法后如何将总记录数传给gridview控件,哪位能解释一下?
      

  7.   

    大家到着看看阿,怎么没人来呢
    http://community.csdn.net/Expert/topic/4543/4543542.xml?temp=.964596
      

  8.   

    建议不要用ObjectDataSource作为数据源,直接用泛型List<T>作为数据源。
    当跳转页面时,动态改变List<T>不就可以了吗???
    你要缓存的话,也是一样的。
    例子:
    public class User
    {
    private string mUserName = "";
    private string mPassWord = "";public string UserName
    {
    get
    {
    retrun mUserName ;
    }
    set
    {
    mUserName  = value;
    }
    }
    public string PassWord 
    {
    get
    {
    retrun mPassWord ;
    }
    set
    {
    mPassWord = value;
    }
    }
    }
    然后:
    this.DataList.DataSouce = getuser();//return a List<User>;
    this.DataList.DataBind();
    在前台<%#...%>邦定.
    在.net 2.0里只要实现了IEnumrable接口的数据类都可以直接作为数据源.
      

  9.   

    我现在的目的是要用gridview显示数据,比如说一个表里有两千条数据,我可以根据现在的页码(PageIndes)和页面记录数(PageSize)取得相应的记录,而不是一下子取二千条,pagesize为20的话那我一次就取二十条了,这点我已经做到,但是由于我一下子取的就那么20条,而gridview就会自动算页数,为1页,控件的分页的部分就不显示了,有什么办法能让它仍就显示真实的页数码?
      

  10.   

    你没在DataGrid里这样做过吗?
    首先,他的AllowCustomPaging=true.即自行分页.
    接下来VirtualItemCount记录的总数量.
    最后在设置每页多少条.
    就是你要的效果.不知道gridview是不是一样,但原理差不多.
      

  11.   

    DataGrid没有用objectdatasource,我现在要做的是在objectdatasource里分页,这个表达的不太清楚,做过的人应该知道的,现在已经弄得差不多了,分页已经成功,正在加入排序功能,还是有点头大
      

  12.   

    沉下去了,顶上来弄得很烦,准备用2.0做一个新的个人网站都不想继续下去了,来这里简直了成了想看黄色小报一样打发时间了。不过既然泛泛浏览感兴趣的问题,看到了忍不住也问几句思归提到的那篇文章中:
    string sql = @"SELECT ProductID, ProductName, QuantityPerUnit, 
              UnitPrice, UnitsInStock
              FROM Products";
            using (SqlConnection myConnection = new 
              SqlConnection(ConfigurationManager.ConnectionStrings[
              "NWConnectionString"].ConnectionString))
            {
                // Place the data in a DataTable
                SqlCommand myCommand = new SqlCommand(sql, myConnection);
                SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
                myConnection.Open();
                DataTable dt = new DataTable();
                myAdapter.Fill(dt);
                List<Product> results = new List<Product>();
                int currentIndex = startRowIndex;
                int itemsRead = 0;
                int totalRecords = dt.Rows.Count;
                while (itemsRead < maximumRows && 
                 currentIndex < totalRecords)
                {
                    Product product = new Product();
                    product.ProductID = 
                      Convert.ToInt32(dt.Rows[currentIndex]["ProductID"]);
                    product.ProductName = 
                      dt.Rows[currentIndex]["ProductName"].ToString();
                    product.QuantityPerUnit = 
                      dt.Rows[currentIndex]["QuantityPerUnit"].ToString();
                    if (dt.Rows[currentIndex]
                     ["UnitPrice"].Equals(DBNull.Value))
                        product.UnitPrice = 0;
                    else
                        product.UnitPrice = 
                     Convert.ToDecimal(dt.Rows[currentIndex]["UnitPrice"]);
                    if (dt.Rows[currentIndex]
                      ["UnitsInStock"].Equals(DBNull.Value))
                        product.UnitsInStock = 0;
                    else
                        product.UnitsInStock = 
                    Convert.ToInt32(dt.Rows[currentIndex]["UnitsInStock"]);
                    results.Add(product);
                    itemsRead++;
                    currentIndex++;
                }
                myConnection.Close();
                return results;其中myAdapter.Fill(dt)这一句,对于大量记录,不是一样耗费资源么?
      

  13.   

    http://blog.csdn.net/rhs/archive/2006/02/12/597336.aspx
      

  14.   

    用GridView的自定义分页,AllowPaging=True,还是用GridView带的分页形式,不太灵活.我觉得可以在ObjectDataSource的SelectMethod方法中传递几个QueryStringParameter,在数据层中还用以前的方法按照当前页数,每页记录数等得到当前页的数据,用DataTable类型返回给业务层.在业务层中,可以定义一个List<具体实体类型>,用Add的方式把DataTable中的数据都加到这个泛型对象中,把这个泛型对象返回给表现层的ObjectDataSource(SelectMethod对应的方法).至于总页数,可以在每层中再写一个方法,另外取得.
      

  15.   

    就是呀,ObjectDataSource的分页只能和GridView配合使用么?
      

  16.   

    如果想用gridview进行分页,那么正常情况下应当取得数据源中的所有数据,gridview才能正确分页,但是这样的效率是非常差的.
    所以objectdatasource应当与datalist配合应用进行分页操作,这才是可行的办法.
      

  17.   

    ==================
    我的BLOG:HTTP://ggdesign.meizu.net
    希望大家多多指教。
    ==================