2018-02-22 重新分享有关表格的样式设定问题——固定头

2018-02-23  本文已影响0人  胡諾
第一组:杨昊 重新分享有关表格的样式设定问题——固定头、列

表单的头部、首列需要固定,不要随着滚动条的变化而移动,方法有很多。如下:

image

想实现类似的操作,逃不过下面两个属性:

position: relative;

z-index:99;

position属性:规定元素的定位类型,relative是指生成相对定位的元素,相对于其正常位置进行定位。比如"left:20" 会向元素的left 位置添加 20 像素。

z-index属性:设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。其中,元素可拥有负的 z-index 属性值。z-index 仅能在定位元素上奏效。

我在实现这个操作时使用的是jQuery的方式,将样式动态注入。代码如下:

image

附代码:


//首列固定
       $(".table-p").scroll(function() {
            if ($(".table-p").scrollTop() > 0) {
                var Htable_flinew2 = $(".table-p").scrollTop() + "px";
                $(".tdwid2").css("position", "relative");
                $(".tdwid2").css("background", "#fff");
                $(".tdwid2").css("top", Htable_flinew2);
            }else{
                $(".tdwid2").css("top", "0");
            }
            if ($(".table-p").scrollLeft() > 0) {
                var Htable_flinew = $(".table-p").scrollLeft() + "px";
                $(".table tbody tr td:first-child").css("left", Htable_flinew);
                $(".table thead tr th:first-child").css("left", Htable_flinew);
            }else{
                $(".table tbody tr td:first-child").css("left", "0");
                $(".table thead tr th:first-child").css("left", "0");
            }           
       })

第二组:暂缺

第三组:黄华英 JavaScript代码片段

const call = (key, ...args) => context => contextkey;

const collectInto = fn => (...args) => fn(args);

const flip = fn => (...args) => fn(args.pop(), ...args);

const pipeFunctions = (...fns) => fns.reduce((f, g) => (...args) => g(f(...args)));

const promisify = func => (...args) =>new Promise((resolve, reject) =>func(...args, (err, result) => (err ? >reject(err) : resolve(result))));

const spreadOver = fn => argsArr => fn(...argsArr);

const chunk = (arr, size) =>
Array.from({ length: Math.ceil(arr.length / size) }, (v, i) =>arr.slice(i * size, i * size + size));

const compact = arr => arr.filter(Boolean);

const countOccurrences = (arr, value) => arr.reduce((a, v) => (v === value ? a + 1 : a + 0), 0);

const deepFlatten = arr => [].concat(...arr.map(v => (Array.isArray(v) ? deepFlatten(v) : v)));


第四组:王芳 《海边的曼彻斯特》

遗憾大约占了真实人生的一半, 不是所有人都可以和过去和解,逃げるは恥だが役に立つ


第五组:王颢 WinForm
  1. 在WinForm中使多个控件共享一个事件的实现:
    方法:按住Ctrl键,一次选中多个控件,选择它们共有事件,双击即可。
    例如:选择多个Button,在事件中找到Button的单击事件,双击进去,在Click事件中编写代码,这样就实现了多个控件共享一个事件。

  2. 在WinForm中使用DataGridView与数据库绑定数据时,会出现中英文列名同时显示的麻烦,这时只需一行代码将英文列明显示屏蔽掉既可以只显示中文列名;
    示例代码:this.DataGridView1.AutoGenerateColumns=false;

  3. 在WinForm中如果是一个容器控件,比如说:GroupBox,Panel,若想它其中的所有控件的Enabled属性都为false,只需将改容器控件的Enabled属性设为false即可实现该效果。
    示例代码:
    this.Panel1.Enabled=false;

上一篇下一篇

猜你喜欢

热点阅读