当前位置:编程学习 > C#/ASP.NET >>

GridView1 有30列,太长了,如何处理?

在做一个程序,客户要求显示一个表,这个表有30多列数据全部要显示出来,像这种特殊的要求如何做?

我是用最笨的办法:

 <asp:Panel ID="Panel1" runat="server" Height="383px" ScrollBars="Both" Width="957px">

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
     ……
   </asp:GridView>          
     </asp:Panel>

请问有更好的方法吗?最好给出详细一点的代码,谢谢! --------------------编程问答-------------------- 可以固定gridview的最前面的两列,后面用滚动来控制
下面的代码是CSS的样式,你调用一下
.fixColleft1  
 { z-index:120; left:   expression(this.offsetParent.scrollLeft);  position:   relative } 
    .fixedHeader {
      overflow: auto;}
.fixColleft  
 { }

下面是后台代码:仔细研究一下,应该可以实现lz的意图
         绑定gridview
         this.GridView1.Columns[0].HeaderStyle.CssClass = "fixColleft";
        this.GridView1.Columns[1].HeaderStyle.CssClass = "fixColleft";
        this.GridView1.Columns[0].ItemStyle.CssClass = "fixColleft";
        this.GridView1.Columns[1].ItemStyle.CssClass = "fixColleft";
        this.GridView1.DataBind(); --------------------编程问答-------------------- 设置gridview 表头不动其他能滚动 --------------------编程问答-------------------- AutoGenerateColumns 属性:设置是否为数据源中的每个字段自动创建绑定字段。这个属性默认为true,但在实际开发中很少会自动创建绑定列,我们总会根据一些情况让一些列不显示,比如显示用户列表的时候不会将用户密码显示出来,显示文章列表的时候不会将文章内容显示出来。

设置不允许自动生成列。 --------------------编程问答-------------------- asp.net夜话之八:数据绑定控件
在asp.net中所有的数据库绑定控件都是从BaseDataBoundControl这个抽象类派生的,这个抽象类定义了几个重要属性和一个重要方法:DataSource属性:指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源中获取数据并显示。DataSourceID属性:指定数据绑定控件的数据源控件的ID, 显示的时候程序将会根据这个ID找到相应的数据源控件,并利用这个数据源控件中指定方法获取数据并显示。DataBind()方法:当指定了数据绑定控件的DataSource属性或者DataSourceID属性之后,再调用DataBind()方法才会显示绑定的数据。并且在使用数据源时,会首先尝试使用DataSourceID属性标识的数据源,如果没有设置DataSourceID时才会用到DataSource属性标识的数据源。也就是说DataSource和DataSourceID两个属性不能同时使用。数据绑定控件的DataSource控件属性必须是一个可以枚举的数据源,如实现了ICollection、IEnumerable或IListSource接口的类的实例。


看看这篇文章,很详细。 --------------------编程问答-------------------- d --------------------编程问答-------------------- 将不必要显示的列不显示 --------------------编程问答-------------------- 外面嵌个div --------------------编程问答-------------------- 可能是因为你隐藏了一些列、没有办法显示。如果对于每一条记录都给出GridView与DetailsView(或者FormView)两种显示方式,那么就不需要在GridView上绑定那么多列。 --------------------编程问答-------------------- 一楼的方法能具体点吗? --------------------编程问答-------------------- 客户要求将30多列数据全部要显示出来!关键是全部要显示就很困难!
不是30多列要你隐藏某些列!

哪位好心人帮帮我吧? 最好给出详细的方法 --------------------编程问答-------------------- 你隐藏了某些列 剩下的不就是你需要显示的那30列了么?
如果觉得30条太宽 设置回滚不就可以了吗?
楼上的几位都提供了很好的解决办法了,楼主应该静下仔细想想! --------------------编程问答-------------------- 楼上,
 关键是30列太宽,如何设置回滚 --------------------编程问答-------------------- 要显示30列这么多,没有什么好办法,
将gridview放再DIV中,设置DIV为自动显示滚动条,让后将数据全部绑定到Gridview上 --------------------编程问答-------------------- 显示重要的几列,每行有个“详细...”按钮,显示点击显示全部内容。 --------------------编程问答--------------------
设 Panl 的属性 ScrollBars=Auto --------------------编程问答-------------------- 将gridview放再DIV中,设置DIV为自动显示滚动条

但是拉动滚动条往右移时,不知道是哪一条记录;
可能表达得不清楚,比喻:

有个表:
 产品id,产品名称,规格,单位,field1,field2,field3,field4……field80 

当拉动滚动条往右移到最后时field80时,不知道field80里面的数据是哪个产品的数据 --------------------编程问答-------------------- 改用DetailsView吧,太长了加滚动条也不好啊 --------------------编程问答-------------------- 选择性的显示 有用的列 --------------------编程问答-------------------- 显示关键列  详细信息用DetailsView显示 --------------------编程问答-------------------- 非要全部显示就在表格外面加个层,使表格在层里面拖动,整个页面不动 --------------------编程问答-------------------- 个人认为1楼的已经帮你解决了啊! --------------------编程问答-------------------- 请看详细看http://www.cnblogs.com/PLAYBOY840616/archive/2008/07/23/1249328.html

是不是你想要的答案?
--------------------编程问答-------------------- 放一排复选框对应每一列,由他自己勾选自己想看到的列
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,