大家知道,一个页面在不加横向滚动条的情况下,除去美工,留给gridview的只有有限的1000像素左右的宽度,但是一般要求Gridview里要加的列很多(10几列也是有可能的),再加上修改、删除这样的功能按钮,就更不够用了。我一般都是尽量减少列数,调小字体,还是不行就把列挤一挤,这很难看,大家怎么做呢?

解决方案 »

  1.   

    1、加个PANEL是gridview具有横向滚动条
    2、gridview列放少点,在做一个详细页面显示
      

  2.   

    其实之前我也碰到过这样的客户,需要显示很多列在gridview上,可惜后来也没怎么找到好的方法客户还要求gridview换行
      

  3.   

    对于这个问题,我一般的处理思路是这样的:(1)我不会在表格里面放类似于更新/删除按钮,我一般是在每行数据的前面加上一个CheckBox,然后把功能操作按钮放在表格的顶部,这样能够节约一些空间出来;(2)表格里面显示的数据只选择最重要的数据显示,类似于Re这样的字段,我是不会显示在表格里面的。很显然,客户不会对所有的数据都施加一样的关注度。通过和客户沟通,了解到他们真正的关注点在哪里,把它显示在表格里面就可以了;(3)可以通过一个配置来保存客户的关注字段。比如一个表格包含了A,B,C,D,E一共5个字段。客户user1希望看到A,B,C三个字段,客户user2希望看到A,D,E三个字段,你把这个信息保存下来就好了。这样,不同的用户登录上来看到的信息就有针对性。假设客户希望看到全部的字段,那也只有全部选择,只能出现滚动条了。如果客户不满意,只能建议他换一个30寸的显示器了;(4)可以通过一个“查看详情”的功能键来显示全部的数据。这个功能的实现有很多方法。比如弹出一个窗口,或者是直接在数据行的下面放置一个隐藏的DIV等等。
      

  4.   

    建议:
    1.设置单元格不允许自动换行,则数据超长时页面自动显示水平滚动条。
    2.在表格外套一个层,设置层的宽度,添加层的样式overflow:scroll,则数据超长时层自动显示滚动条。
    3.仅显示关键列,另可以增加一个功能,由用户决定显示哪些列。
      

  5.   

    2种办法:
    1、就像楼上有的朋友说的,Gridview只显示主要信息,其他的用详细来显示,显示详细的时候,最好不要用弹出页或者重开新页,可以用JavaScript来弹出一个div,具体的效果为鼠标移到这行的时候,就自动显示。
    2、用Extjs那种,可以让用户选择显示哪些列的Gridview。
      

  6.   

    如果非要一目了然显示所有信息不如用repeater了,布局也方便。1条记录做成1块不局限于1行显示、
      

  7.   

    建议你用截取字符串     将Gridview里显示的值提取出来然后进行截取 只显示两到三个值后面的接…… 我就是这么截取的 在放个详细按钮  点击进去可以查看详细
     用Datalist 应该也行吧
      

  8.   

    可以在列中换行,两个列就可以合并为一个列了。这样是最简单的方法。
    可以的话一列中放置三列都行,
    比如:
    XXXXXXXXXXXXXXXXX
    XXX           XXX
    类似的
      

  9.   

    这样设计是否需要
    使用报表控件实现数据,前几列固定,移动滚动条,实现列的滚动显示
    重新 gridview
    通过滚动条实现表头固定,内容滚动
    截取字符串显示,通过DIV显示详细信息
    GridView1.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");
      //下面这行是自动换行
      GridView1.Attributes.Add("style", "word-break:break-all;word-wrap:break-word"); 
     
    http://www.codeproject.com/KB/aspnet/MultiNestMDGridview.aspx
      

  10.   

    把重要的列选择出来在GridView中显示,在做个详细页面,要看更多的信息就点进去看。
      

  11.   

    挺Extjs!用那个控件都是用,还不如用好点的。用Ext的GridPanel确实比死板的GridView好多了。
      

  12.   

    我习惯把宽度设成WIDTH:100%~~
    这样挤也挤得下`~挤挤更健康~
      

  13.   

    在GridView上面(外边)放个CheckBox,假设ID为CheckBox1,然后你可以写protected void GridView1_DataBound(object sender, EventArgs e)
    {
        GridView1.Columns[2].Visible = CheckBox1.Checked;}实际上,有几列就可以放置几个CheckBox,并且它们默认值有的选择有的不选择,这样就可以由用户自己选择哪些列要看,那些不看。
      

  14.   

    另外,现在有些人只知道用低级的jquery,而不知道高级的asp.net ajax toolkit。例如可以看看http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/HoverMenu/HoverMenu.aspx一些列都可以另外放到HoverMenu的内容中。
      

  15.   

    在aspx页面用<% %>来做
      

  16.   


    1234大虾认为jquery低级?toolkit高级?
    偶就是看很多人说jquery好(甚至MS),才从toolkit转到jquery...说实话,觉得它好难用!
      

  17.   

    分两个Gridview显示,一个显示概要信息,一个显示详细的。点击概要信息就显示详细的,否则不显示详细的
      

  18.   

    是这样的,不妨借鉴一下cs的方法。
    在gridview的下面放置标签(也可以放到gridview的左或右边),标签把每个字段都对应了。
    滚动gridview行,标签显示对应的信息。
    gridview的列从左到右,依重要性依次排列字段,不够宽,只有用滚动条。实际上,gridview的下边有详细信息,用户一般注意力都在了下面的标签信息上,他们通常感觉那里的信息更全面、更可靠。
      

  19.   


    呵呵,更加面向开发人员的编程语言或工具被称作是"高级的",并不是"高档"的意思
    我很遗憾,我们很多程序员出于"性能"考虑,采用一些近乎残忍的、自虐的方式编程,
    而搞出来的程序不仅像个炸弹,而且实际上也没看出性能好在哪里了。说着说着又让我想到了CSDN……
      

  20.   

    XtraGrid里怎么增加横向滚动条?winform