注册 登录
编程论坛 ASP.NET技术论坛

如何实现gridview每列显示同一字段的20条记录

fyz520 发布于 2010-10-28 15:54, 857 次点击
数据表stud_db,字段yuwen
gridview上有A、B、C三列,我想让A显示字段yuwen的前20条记录,B列显示字段yuwen 21—40条记录,依此类推,怎么实现呢?谢谢
3 回复
#2
wangnannan2010-10-28 16:33
程序代码:

恩 个人觉着 应该一个sql就能搞定 但是思考半天每写出来 但是可以这样做
select top 20  yuwen A from stud_db   //显示字段yuwen的前20条记录

select top 20 yuwen  B from stud_db where id > (select max(id) from (select top 20 id from stud_db  )as t) //B列显示字段yuwen 21—40条记录

select top 20 yuwen  C from stud_db where id > (select max(id) from (select top 40 id from stud_db  )as t) //C列显示字段yuwen 41—60条记录

声明一个类 stud_db

public class stud_db{
private string _a;
//声明三个属性 用于分别存储 A B C列的不同值
public String A
        {
            get { return _a; }
            set { _a = value; }
        }

private string _b;

public String B
        {
            get { return _b; }
            set { _b = value; }
        }
private string _a;

public String C
        {
            get { return _c; }
            set { _c = value; }
        }
}
声明一个泛型 或者arraylist  (这里以arraylist 为例子吧 list 为arraylist实例)
list.add(A);
list.add(B);
list.add(C);
最后绑定gridview数据源为list
个人觉着方法不是很好  期待牛人 一个sql搞定
#3
fyz5202010-10-28 17:39
牛,有点复杂,没太看得懂,不过还是谢谢了

select top 20  yuwen A from stud_db   这里的yuwen后面的这个A是表示什么?

select top 20 yuwen  B from stud_db where id > (select max(id) from (select top 20 id from stud_db  )as t) //B列显示字段yuwen 21—40条记录
能详细解释一下这句话吗?特别是后面里(select max(id) from (select top 20 id from stud_db  )as t)

[ 本帖最后由 fyz520 于 2010-10-28 19:44 编辑 ]
#4
Issac_abc2010-11-01 13:46
查找stud_db表中前20条记录中最大的Id,
select top 20 id from stud_db 查找stud_db 的前20条记录。
as t 是给这张表去的别名别名
select max(id) 是的到最大
1