我有一个数据表 字段是 CourseId   CourseName  UserId
select CourseName form Course;
我用GridView直接绑定的话显示的是竖着的,有什么办法能让它横着显示呢.

解决方案 »

  1.   

    楼主既然要显示成横着的, 这说明CourseName的值不是很多,那么可以考虑有datalist进行绑定。设置每行显示多少个就行了
      

  2.   

    其实还有一个UserInfo 表的. 字段是 UserId UserName UserNumber UserGender
    再加上上面的Course 表 , 字段是  CourseId CourseName UserId (外键)
    我想横着显示,就是像这样
    UserName  UserNumber  UserGender  CourseName1  CourseName2  CourseName3
      qqq        qqqq          qq        qq            qq           qq不知道该怎么写绑定好,用什么来绑定不重要,能显示就好了.
      

  3.   

    那就将两个表进行连接啊。
    select a.*,b.* from UserInfo a,Course b where a.UserID=b.UserID
      

  4.   

    在数据库中处理,前台显示的时候动态生成
    因为列是不固定的。所以无法用datagrid或datalist
      

  5.   

    用repeater ,设置itemtemplate,里面放linkbutton之类的,如果不加<br/>的话,默认就是横着不换行的
    你用gridview本来就是行的概念,就不好弄了,repeater要比grdiview体积小,速度还快
      

  6.   

    declare @sql varchar(8000)set @sql = 'select name,'
    select @sql = @sql + 'sum(case subject when '''+subject+''' 
    then source else 0 end) as '''+subject+''','
    from (select distinct subject from test) as a 
    select @sql = left(@sql,len(@sql)-1) + ' from test group by name'
    exec(@sql)
    go 
    这是一个存储过程,有你说的类似效果,自己参考着改吧,建表语句不见好多年
    你要自己见表,4个字段 ID NAME SUBJECT 还有个不记得了
      

  7.   

    ds.Tables["Details"].Rows[i]["CourseName"]<TD></TD>把这个值包起来,弄个字符串直接拼接传到前台显示,输出一行不就行了
      

  8.   

    如果LZ想按这样的格式,
    UserName     UserNumber     UserGender     CourseName1     CourseName2     CourseName3 
        qqq                 qqqq                     qq                 qq                         qq                       qq 一个人的信息显示一行,那就用Repeater显示
      

  9.   

    建议用Repeater,控制更灵活些。
      

  10.   

    我觉得这样先查询stuInfo这个表,找到一条记录再去查询course这个表相对应的数据,把它们放到一个组里面. 之后再去查询stuInfo这个表的下一条记录. 但是不知道怎么实现. 9楼说的那个存储过程,不太看得懂. 不管是用datalist还是Repeater,感觉都挺难的.