zoukankan      html  css  js  c++  java
  • easy ui datagrid 下拉框级联绑定

    function loadDataList() {
    var lastIndex;
    var $dg = $('#data_list');
    $dg.datagrid({
    height: 'auto',
    singleSelect: true,
    idField: 'DeliveryDetailID',
    columns: [[
    {
    field: 'DeliveryDetailID',
    title: 'ID',
    10,
    hidden: true
    },
    {
    field: 'DataSourceID',
    title: '来源单据ID',
    10,
    hidden: true
    },
    {
    field: 'DataSourceType',
    title: '数据来源',
    10,
    hidden: true
    },
    {
    field: 'DataSourceTypeName',
    title: '数据来源',
    80
    },
    {
    field: 'DataSourceNo',
    title: '系统单号',
    100
    },
    {
    field: 'SystemNo',
    title: '手工单号',
    100
    },
    {
    field: 'DepotID',
    title: 'DepotID',
    10,
    hidden: true
    },
    {
    field: 'DepotName',
    title: '仓库',
    80
    },
    {
    field: 'ClientID',
    title: '客户ID',
    10,
    hidden: true
    },
    {
    field: 'ClientNo',
    title: '客户No',
    10,
    hidden: true
    },
    {
    field: 'ClientName',
    title: '客户名称',
    100
    },
    {
    field: 'TransitContactType',
    title: '收货人类别',
    80,
    formatter: function (value) {
    for (var i = 0; i < gTransitContactType.length; i++) {
    if (gTransitContactType[i].id == value) return gTransitContactType[i].text;
    }
    return value;
    },
    editor: {
    type: 'combobox',
    options: {
    valueField: 'id',
    textField: 'text',
    data: gTransitContactType,
    required: true
    }
    }
    },
    {
    field: 'DeliveryType',
    title: '发运方式',
    80,
    formatter: function (value) {
    for (var i = 0; i < gDeliveryType.length; i++) {
    if (gDeliveryType[i].id == value) return gDeliveryType[i].text;
    }
    return value;
    },
    editor: {
    type: 'combobox',
    options: {
    valueField: 'id',
    textField: 'text',
    data: gDeliveryType
    }
    }
    },
    {
    field: 'TransitProvinceID',
    title: '省',
    80,
    formatter: function (value) {
    for (var i = 0; i < gTransitProvince.length; i++) {
    if (gTransitProvince[i].id == value) return gTransitProvince[i].text;
    }
    return value;
    },
    editor: {
    type: 'combobox',
    options: {
    valueField: 'id',
    textField: 'text',
    data: gTransitProvince,
    required: true,
    onChange: function (newValue, oldValue) {
    //重点在此处
    //先获取到当前选中行
    //根据当前行获取,当前行的下标
    //在根据下标和要获取列的filed获取对应filed的Editor对象
    //然后在根据对应的Editor操作
    var cityData = '[';
    for (var i = 0; i < gTransitCity.length; i++) {

    if (gTransitCity[i].ProvinceID == newValue) {

    cityData += '{"id":"' + gTransitCity[i].id + '","text":"' + gTransitCity[i].text + '"},';
    }
    }
    cityData = cityData.substr(0, cityData.length - 1);
    cityData += "]";

    var row = $dg.datagrid('getSelected');
    var rindex = $dg.datagrid('getRowIndex', row);
    var ed = $dg.datagrid('getEditor', {
    index: rindex,
    field: 'TransitCityID'

    });

    var data = $.parseJSON(cityData);

    $(ed.target).combobox('loadData', data);

    $(ed.target).combobox('setValue', data[0].text);
    }
    }
    }
    },
    {
    field: 'TransitCityID',
    title: '市',
    80,
    formatter: function (value) {
    for (var i = 0; i < gTransitCity.length; i++) {
    if (gTransitCity[i].id == value) return gTransitCity[i].text;
    }
    return value;
    },
    editor: {
    type: 'combobox',
    options: {
    valueField: 'id',
    textField: 'text',
    required: true
    }
    }
    },
    {
    field: 'TransitAddress',
    title: '地址',
    250,
    editor: {
    type: 'textbox',
    }
    },
    {
    field: 'DeliveryArea',
    title: '所属区域',
    50,
    formatter: function (value) {
    for (var i = 0; i < gDeliveryArea.length; i++) {
    if (gDeliveryArea[i].id == value) return gDeliveryArea[i].text;
    }
    return value;
    },
    editor: {
    type: 'combobox',
    options: {
    valueField: 'id',
    textField: 'text',
    data: gDeliveryArea,
    required: true
    }
    }
    },
    {
    field: 'TransitContactName',
    title: '联系人',
    80
    },
    {
    field: 'TransitContactTel',
    title: '联系电话',
    80
    },
    {
    field: 'TotalAddress',
    title: '收货地址',
    10,
    hidden: true
    },
    {
    field: 'ConDealerID',
    title: '委托单位',
    10,
    hidden: true
    },
    {
    field: 'ConDealerName',
    title: '委托单位',
    80
    },
    {
    field: 'BalanceDealerID',
    title: '结算单位',
    10,
    hidden: true
    },
    {
    field: 'BalanceDealerName',
    title: '结算单位',
    80,
    required: true
    },
    {
    field: 'TotalQty',
    title: '商品总数量',
    80
    },
    {
    field: 'TotalVolume',
    title: '总体积',
    80
    },
    {
    field: 'Remark',
    title: '备注',
    200
    }

    ]],
    onBeforeLoad: function () {
    $(this).datagrid('rejectChanges');
    },
    onClickRow: onClickRow
    });
    }

  • 相关阅读:
    linux ——process
    linux ipc—msgqueue
    JDEclipse源码查看
    用 AXIOM 促进 XML 处理
    使jets3t支持https
    正版太贵了……
    Axis2学习笔记 (Axiom 篇 )
    基于Hadoop的海量文本处理系统介绍
    详解ASP.NET MVC的请求生命周期
    .Net相关的资源连接
  • 原文地址:https://www.cnblogs.com/menglin/p/8422060.html
Copyright © 2011-2022 走看看