前段时间整理电脑上的资源,有些代码还是比较可以的。现在拿上来给大家一起分享。
以前在网上也搜索过网格之类的东西。但是很多都不能满足特定的需求。所以在不得已的情况下自己就开始着手这一块的东东。只是没有打包成一个dll。如果有哪位将它打包成为一个dll,请发送一份给我。
1、需求:
在网格中希望能够出现竖的滚动条,部分横的滚动条。当移动横的滚动条的时候部分列滚动。当滚动竖的滚动条的时候,除去标题和统计行不动外的所有数据滚动。了解Excel的人基本上都会知道的就像图(1)一样。

asp.net中的组件gridview功能非常强大,能够完成很多功能,但是对于此种情况还是很难进行处理的。在网上搜索的时候 ,可以将gridview 放在Panel中为实现两个滚动条。但是在某些特定的情况下,滚动滚动条的时候,标题必须的看见,而在做网上工资表的时候,其中的一个列也是必须见到的,以防止输错数字。在这种情况下,Panel就满足不了了。
2、解决思路:
1)、GridView功能强大在数据邦定的时候非常方便,所以在数据绑定的时候选用GridView。
2)、根据显示需求,我们能否将GridView分成几块来考虑呢?如果能够将GridView分开控制,那么问题就彻底解决了。例如分成固定列、活动列、固定列数据块、活动列数据块、固定列统计行、活动列统计行。基本模型如下。

1)、脚本编写。我记得javascript 中有一个函数cloneNode(true) ,这个函数的功能就是对象的克隆。在脚本语言中,我们可以将GridView看成一个表格。第一行是标题,最后一行是统计行。那么我们就开始编写代码了。
第一步:
定义全局变量。也就是需要分割的各个层。
第二步:
分别得到各个内容的值。以固定列与固定列内容为例子
..
..
3)、函数调用:

6)、功能扩充:
可能活动列的某一列的数据长度很长,也许会引起整个表格不对齐的效果,并且非常的难看。你可以将活动列内容的数据放在TextBox里面就很好的处理了所有问题。界面非常好看,但是在有TextBox的情况下GridView 的数据导出可能会存在一定问题的。呵呵,这个问题网上也有很多的解决方案。大家去解决吧。

现在就下载源代码
以前在网上也搜索过网格之类的东西。但是很多都不能满足特定的需求。所以在不得已的情况下自己就开始着手这一块的东东。只是没有打包成一个dll。如果有哪位将它打包成为一个dll,请发送一份给我。
1、需求:
在网格中希望能够出现竖的滚动条,部分横的滚动条。当移动横的滚动条的时候部分列滚动。当滚动竖的滚动条的时候,除去标题和统计行不动外的所有数据滚动。了解Excel的人基本上都会知道的就像图(1)一样。

asp.net中的组件gridview功能非常强大,能够完成很多功能,但是对于此种情况还是很难进行处理的。在网上搜索的时候 ,可以将gridview 放在Panel中为实现两个滚动条。但是在某些特定的情况下,滚动滚动条的时候,标题必须的看见,而在做网上工资表的时候,其中的一个列也是必须见到的,以防止输错数字。在这种情况下,Panel就满足不了了。
2、解决思路:
1)、GridView功能强大在数据邦定的时候非常方便,所以在数据绑定的时候选用GridView。
2)、根据显示需求,我们能否将GridView分成几块来考虑呢?如果能够将GridView分开控制,那么问题就彻底解决了。例如分成固定列、活动列、固定列数据块、活动列数据块、固定列统计行、活动列统计行。基本模型如下。

3、处理编码:
1)、脚本编写。我记得javascript 中有一个函数cloneNode(true) ,这个函数的功能就是对象的克隆。在脚本语言中,我们可以将GridView看成一个表格。第一行是标题,最后一行是统计行。那么我们就开始编写代码了。
第一步:
定义全局变量。也就是需要分割的各个层。
1
//放置固定列标题的层
2
var divFixColumnElement ;
3
//放置固定列内容的层
4
var divFixColumnValue ;
5
//放置活动列标题的层
6
var divActiveColumName ;
7
//放置活动列内容的层
8
var divActiveColumnValue;
9
//放置活动列统计行数据的层
10
var divActiveFootValue;
11
//放置固定列统计行数据的层
12
var divFixFootValue;
13
//放置固定列标题的层2
var divFixColumnElement ; 3
//放置固定列内容的层 4
var divFixColumnValue ;5
//放置活动列标题的层6
var divActiveColumName ;7
//放置活动列内容的层8
var divActiveColumnValue;9
//放置活动列统计行数据的层10
var divActiveFootValue;11
//放置固定列统计行数据的层12
var divFixFootValue;13

第二步:
分别得到各个内容的值。以固定列与固定列内容为例子
第三步:
第四步:
1
divFixColumnElement = $Element(divFixColumnID);
2
divFixColumnElement.appendChild(FixCol);
3
divFixColumnElement.style.width = fixCellWidth;
4
divFixColumnElement = $Element(divFixColumnID);2
divFixColumnElement.appendChild(FixCol); 3
divFixColumnElement.style.width = fixCellWidth;4

第五步:
设置滚动条的联动。
divActiveColumnValue.onscroll=ScrolValueBar;
清除GridView的所有数据。
2)、界面设置:
在界面上放置一个表格,同时放置相应的6个Panel,也就是我们要分割的6个块。3)、函数调用:
4)、CS数据绑定:
this.GridView1.DataSource = dt.DefaultView;
this.GridView1.DataBind();

6)、功能扩充:
可能活动列的某一列的数据长度很长,也许会引起整个表格不对齐的效果,并且非常的难看。你可以将活动列内容的数据放在TextBox里面就很好的处理了所有问题。界面非常好看,但是在有TextBox的情况下GridView 的数据导出可能会存在一定问题的。呵呵,这个问题网上也有很多的解决方案。大家去解决吧。
现在就下载源代码



}
}
浙公网安备 33010602011771号