数据绑定2

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="utf-8" />

    <!-- disable IE compatible view -->

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <meta name="spreadjs culture" content="zh-cn" />

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" , user-scalable=no" />

    <title>SpreadJS Demo : 数据绑定</title>

    <!-- CDN Reference    -->

    <link rel="icon" type="image/png" href="https://demo.grapecity.com.cn/SpreadJS/TutorialSample/icon.ico" />

    <link rel=" stylesheet" type="text/css" href="https://cdn.grapecity.com.cn/spreadjs/css/basscss.min.css" />

    <link rel="stylesheet" type="text/css" href="https://cdn.grapecity.com.cn/spreadjs/css/gc.spread.sheets.excel2013white.12.0.6.css" />

    <script type="text/javascript" src="https://cdn.grapecity.com.cn/spreadjs/scripts/gc.spread.sheets.all.12.0.6.min.js"></script>

    <script type="text/javascript" src="https://cdn.grapecity.com.cn/spreadjs/scripts/resources/zh/gc.spread.sheets.resources.zh.12.0.6.min.js"></script>

    <script type="text/javascript" src="https://cdn.grapecity.com.cn/spreadjs/scripts/jquery-1.11.1.min.js"></script>

    <script type="text/javascript" src="https://demo.grapecity.com.cn/SpreadJS/TutorialSample/js/spread/license.js"></script>

    <script type="text/javascript" src="patlist.js"></script>

    <!-- 页面内自定义 CSS-->

    <style>

        body {

        background: rgb(250, 250, 250);

        color: #333;

      }

      #ss {

          border: 1px #ccc solid;

      }

      .container {

        width: 95%;

        background: rgb(250, 250, 250);

        margin: 0 auto;

        height: 600px;

      }

      .full-height {

        height: 100%;

      }

        .left{

            height: 100%;

            overflow: auto;

        }

    </style>

</head>

<body>

    <div class="container">

        <div class="clearfix border-bottom">

            <div class="col col-8">

                <h3>SpreadJS Demo : 数据绑定</h3>

            </div>

            <div class="col col-4 right-align align-middle">

                <h5>

                    <ul class="list-reset">

                        <li class="inline-block mr1"><a class="btn" href="https://www.grapecity.com.cn/developer/spreadjs "

                                target="_blank ">产品官网</a></li>

                        <li class="inline-block mr1"><a class="" href="https://gcdn.grapecity.com.cn/showforum-185-1.html "

                                target="_blank ">论坛求助</a></li>

                        <li class="inline-block mr1"><a class="" href="https://demo.grapecity.com.cn/SpreadJS/TutorialSample/#/samples "

                                target="_blank ">更多示例</a></li>

                    </ul>

                </h5>

            </div>

        </div>

        <div class="full-height clearfix mt2">

            <div class="col col-4 left">

                <h4 class="mb0">表单级别绑定</h4>

                <p  style="width: 90%"class="m0 ">说明:右侧名为数据绑定的表单中绑定了一组数据,每列的信息可以进行特殊设定,例如出生年月一列设置了特殊的展示样式,过敏原一列用checkbox的样式来展示。</p>

                <h4 class="mb0" >单元格级别绑定</h4>

                    <p  style="width: 90%"class="m0 ">说明:右侧名为单元格绑定的表单展示了几个单元格级别绑定的数据,

                        点击单元格,下方可显示该单元格绑定的路径

                    </p>

                    <p class="m0 " >点击的单元格绑定的路径是:</p>

                    <label id="bindingPath" style="color:red"></label>

                <h4 class="mb0" >表格绑定</h4>

                <p class="m0 "  style="width: 90%" >说明:点击下方按钮可以给右侧名为表格绑定的表单绑定不同的数据源</p>

                <input type="button" id="bind" value='绑定数据源'/>

            </div>

            <div class="col col-8 full-height ">

                <div id="ss" style="height:680px"></div>

            </div>

        </div>

    </div>

</body>

<script type="text/javascript ">

    $(document).ready(function () {

        var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));

        var sheet = new GC.Spread.Sheets.Worksheet('表单绑定');

        spread.options.tabStripRatio = 0.7;

        sheet.autoGenerateColumns = true;// 自动生成绑定列

        sheet.setDataSource(patlist);

        spread.addSheet(0,sheet);

      // 将数据字段绑定到指定列

      var colInfos = [

  { name: 'PATIENT_ID', displayName: '病人ID', size: 70, visible: false },

  { name: 'VISIT_ID', displayName: '访问次数', size: 70, visible: false },

  { name: 'INP_NO', displayName: '住院号', size: 80 , visible: false},

  { name: 'WARD_CODE', displayName: '科室号', size: 50,  visible: false,resizable: false },

  { name: 'WARD_NAME', displayName: '科室名', size: 120 },

  { name: 'PATIENT_NAME', displayName: '姓名', size: 60 },

  { name: 'SEX', displayName: '性别', size: 40 },

  { name: 'DATE_OF_BIRTH', displayName: '出生日期', formatter:'yyyy/m/d',size: 130 },

  { name: 'CHARGE_TYPE', displayName: '医保类型', size: 120 },

  { name: 'ADDRESS', displayName: '家庭住址', size: 190 },

  { name: 'AGE', displayName: '年龄', size: 120 },

  { name: 'LEAVE_TIME', displayName: '出院时间', size: 150 },

  { name: 'NURSE_IN_CHARGE', displayName: '责任护士', size: 120 },

  { name: 'BALANCE', displayName: '余额', size: 100 },

  { name: 'DIAGNOSIS', displayName: '诊断', size: 160  },

  { name: 'ISALLERGY', displayName: '过敏史',cellType: new GC.Spread.Sheets.CellTypes.CheckBox(),  size: 100 },

  { name: 'CURRENT_TEMP', displayName: '当前体温', size: 60 },  ];

    sheet.bindColumns(colInfos);

    console.log(sheet.getDataItem(0)); // 获取指定行数据

        /*----------------------单元格级别绑定--------------*/

    var sheetCellbind = new GC.Spread.Sheets.Worksheet('单元格绑定');

    // 表格绑定和单元格绑定数据源,需要用SpreadJS的CellBindingSource包装一下   

    var source = new GC.Spread.Sheets.Bindings.CellBindingSource(patlist[0]);

    sheetCellbind.suspendPaint();

    sheetCellbind.setBindingPath(1,1,'PATIENT_NAME');

    sheetCellbind.setBindingPath(1,2,'SEX');

    sheetCellbind.setBindingPath(1,3,'NURSE_IN_CHARGE');

    sheetCellbind.setDataSource(source);

    sheetCellbind.setValue( 3,1,'getBindingPath:');

    sheetCellbind.addSpan(3,1,1,2);

    spread.addSheet(1,sheetCellbind);

    sheetCellbind.setSelection(1,1,1,1);

    var path = sheetCellbind.getBindingPath(1,1);

    document.getElementById("bindingPath").innerHTML=path || "";

    sheetCellbind.bind(GC.Spread.Sheets.Events.SelectionChanged, function(){

        var activeCell = sheetCellbind.getSelections()[0];

        var path = sheetCellbind.getBindingPath(activeCell.row,activeCell.col);

        document.getElementById('bindingPath').innerHTML = path || '';

        sheetCellbind.setValue( 3,3,path);

    });

    sheetCellbind.resumePaint();

    /*-------------------------表格绑定------------------*/

    var sheetbind = new GC.Spread.Sheets.Worksheet('表格绑定');

    spread.addSheet(2,sheetbind);

    var table = sheetbind.tables.add('myTable',1,1,5,6);

    var table1 = sheetbind.tables.add('myTable1',10,1,5,6);

    // 第一个数据源

    var data = { name: 'Jones',  region: '西北地区',

  sales: [

    { 时间: '2019/4/1', 项目: '项目1', 数量: 3, 花费: 1.99 },

    { 时间: '2019/4/1', 项目: '项目2', 数量: 35, 花费: 1.99 },

    { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },

  ],

  sales1: [

    { 时间: '2019/4/1', 项目: '项目11', 数量: 3, 花费: 1.99 },

    { 时间: '2019/4/1', 项目: '项目12', 数量: 35, 花费: 1.99 },

  ]};

  // 第二个数据源

  var data1 = { name: 'Fiona',  region: '东北地区',

  sales: [

  { 时间: '2019/4/2', 项目: '项目4', 数量: 44, 花费: 1239 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目5', 数量: 45, 花费: 49 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目6', 数量: 95, 花费: 59 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目7', 数量: 64, 花费: 6 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目8', 数量: 34, 花费: 46 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目9', 数量: 34, 花费: 46 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目10', 数量: 34, 花费: 46 ,备注:''},

  ],

  sales1: [

  { 时间: '2019/4/2', 项目: '项目14', 数量: 44, 花费: 1239 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目15', 数量: 45, 花费: 49 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目16', 数量: 95, 花费: 59 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目17', 数量: 64, 花费: 6 ,备注:''},

  { 时间: '2019/4/2', 项目: '项目18', 数量: 34, 花费: 46 ,备注:''},

  ]};

    // 设定绑定路径,实际上就是指定table绑定数据源的哪个字段

    table.bindingPath('sales');

    table1.bindingPath('sales1');

    // 表格绑定和单元格绑定数据源,需要用SpreadJS的CellBindingSource包装一下

    source =new GC.Spread.Sheets.Bindings.CellBindingSource(data);

    source1 =new GC.Spread.Sheets.Bindings.CellBindingSource(data1);

    sheetbind.setDataSource(source);

    sheetbind.setValue(0,0,data.name);

    document.getElementById('bind').addEventListener('click', function(){

        if(sheetbind.getDataSource() ==source){

            sheetbind.setDataSource(source1);

            sheetbind.setValue(0,0,data1.name);

        }else{

            sheetbind.setDataSource(source);

            sheetbind.setValue(0,0,data.name);

        }

    });

});

</script>

</html>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351

推荐阅读更多精彩内容