近日在工作中遇到一个需求,要求页面初始化的时候给dataGrid表插入一条数据。

  前端使用的是Extjs框架,dataGrid表有四列,其中三列是类型为textbox,普通文本框,另外一列类型是combobox下拉框形式,下拉框一列的数据使用的数据字典,值通过初始化加载时从数据库字典中查找得到的。由于对Extjs框架的不熟悉,以及前端水平很是有限,所以只好先求助度娘,找了好久都没有找到解决办法。只好自己尝试各种方法,好在最后问题得以解决,所以记录一下自己解决的思路和方法。

{
field:'A',
title:'下拉框类型',
width:50,
editor:{
type:'combobox',
options:{
valueField:'id',
textField:'name',
editable:false,
loader:queryTableData, // 查询数据字典
....
} }
}

  得到这个需求的时候感觉很简单,在js中初始化Grid数据,使用如下

 $("#target").datagrid("loadData",[{
  field:"初始化值" // 文本框所对应的列的这样赋值没有问题
A:"下拉框字典项的id" // 直接这么赋值,js直接报错
..........
}]);

找原因:通过查找字典表的函数,下拉框初始化加载得到的是一个字典对象,该对象有id,name,order...等属性,在此处可以看到 valueField:'id',说明字典对象的id是下拉框要用到的一个属性,既然初始化时直接插入,我们就来根据id属性构造一个类似字典对象的对象出来,将该对象赋值给下拉框对应单元格,如下:

  var obj={
id:'',
name:''
}
obj.id = '想要初始赋值的值对应的字典id'
$("#target").datagrid("loadData",[{
  field:"初始化值" // 文本框所对应的列的这样赋值没有问题
A:obj
..........
}])

问题解决,主要是构造一个包含id属性的类似字典对象的一个对象(上述的obj对象)。

Extjs 中combobox下拉框初始化赋值的更多相关文章

  1. easyui的combobox下拉框初始化默认值以及保持该值一直显示的方法

    easyui的combobox下拉框默认初始值是空,下面是实现从远程加载数据之后初始化默认值,以及让该值一直排在下拉框的最顶部的方式. 目前的需求是需要在初始化的时候添加"全部数据库&quo ...

  2. 关于easyui combobox下拉框实现多选框的实现

    好长时间没有更博了,一是因为最近真的比较忙,二是因为自己是真的偷懒了,哈哈 好啦,这篇博客主要是总结一些关于easyui combobox下拉框实现多选框的实现,包括前台界面的展示,和后台对数据的获取 ...

  3. 自绘制HT For Web ComboBox下拉框组件

    传统的HTML5的下拉框select只能实现简单的文字下拉列表,而HTforWeb通用组件中ComboBox不仅能够实现传统HTML5下拉框效果,而且可以在文本框和下拉列表中添加自定义的小图标,让整个 ...

  4. sencha combobox下拉框不用jsonstore,直接使用字符串数组做数据源

    combobox下拉框的store除了可以选择一个jsonstore来加载数据,还可以直接使用符串Array做数据源. { xtype: 'combobox', fieldLabel: 'Label' ...

  5. 选择屏幕中的下拉框和dialog中下拉框设计

    REPORT  YTEST014. PARAMETERS: auart LIKE vapma-auart  AS LISTBOX   VISIBLE LENGTH 6. AT SELECTION-SC ...

  6. 从后台绑定数据到ligerui 的comboBox下拉框组件

    这次来记录一下ligerUI的comboBox下拉框组件,ligerUI的API里也有相关描写叙述,上面都是前台写死数据,然后显示在组件中,我这次要说的是将后台的数据绑定到下拉框组件中,废话不多说. ...

  7. 由于抽签HT For Web ComboBox下拉框组件

    传统HTML5的下拉框select仅仅能实现简单的文字下拉列表,而HT for Web通用组件中ComboBox不仅可以实现传统HTML5下拉框效果,并且可以在文本框和下拉列表中加入自己定义的小图标, ...

  8. 快速设计ComboBox下拉框

    传统软件项目开发时,需要每个控件一个一个的来设计,同时需要在页面功能中对每个控件的属性进行判定处理,尤其是页面风格布局样式需要花去一大半的时间,并且后续要想修改是非常麻烦繁琐,这样就导致设计完成一个功 ...

  9. easyui combobox下拉框复制后再禁用,点击不会出现下拉框

    easyui combobox下拉框禁用,点击不会出现下拉框 需要做到,在给easyui combobox赋值后,再禁用easyui combobox 解决办法: $("#time-sele ...

随机推荐

  1. 搭建自己的博客(十七):添加每日阅读量并使用highcharts通过图表显示

    之前写了单篇博客的阅读量统计,今天添加了博客总阅读量统计,并且使用highcharts图表显示. 1.变化的部分

  2. TCP/IP协议11种状态

    1.l  SYN_SENT :这个状态与SYN_RCVD 状态相呼应,当客户端SOCKET执行connect()进行连接时,它首先发送SYN报文,然后随即进入到SYN_SENT 状态,并等待服务端的发 ...

  3. Scrapy不同的item指定不同的Pipeline

    scrapy不同的item指定不同的Pipeline from items import AspiderItem, BspiderItem, CspiderItem class myspiderPip ...

  4. JavaScript 判断是否为空

    // var a = ""; // var a = " "; // var a = null; // var a = undefined; // var a = ...

  5. 同一个类里@Cacheable缓存不起作用

    问题原因: 注解@Cacheable是使用AOP代理实现的 ,通过创建内部类来代理缓存方法,类内部的方法调用类内部的缓存方法不会走代理,所以就不能正常创建缓存,所以每次都需要去调用数据库. 解决方法: ...

  6. NOIP提高组历年真题题解

    2018 铺设道路 差分水题,推一下结论就好了. #include<cstdio> #include<algorithm> using namespace std; ],d[] ...

  7. Redis客户端多线程跟多个连接不是一回事

    先抱怨一波,大国庆节的放假前一天的下班前15分钟,通知让我加班,因为一个Redis的bug,而这个bug我在1个半小时之前刚听说了个大概,心里很不情愿: 好了,说正事: 问题现象: bug是这样的,两 ...

  8. TynSerial序列(还原)TClientDataSet

    TynSerial序列(还原)TClientDataSet 可以一次性序列(还原)多个TClientDataSet. 1)TClientDataSet查询数据 procedure TForm1.Qry ...

  9. php实现excel单元格合并,字体加粗居中等操作

    使用的是phpexcel,基本用的原生语法,所见即所得,直接复制下面代码,即可: // 引用phpexcel类 $this->load->library('PHPExcel'); // 创 ...

  10. 腾讯基于 Flink 的实时流计算平台演进之路

    https://mp.weixin.qq.com/s/MGnG_Mpf6CUQWLJHvmWqLA