EasyUI Forum
May 18, 2024, 01:13:15 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: About value of combobox of editable datagrid  (Read 23566 times)
nyr_jack
Newbie
*
Posts: 31


View Profile
« on: September 13, 2012, 01:06:15 AM »

$(function(){
   var lastIndex;
   $('#serviceTargetGrid').datagrid({
      url:'data/service_data.json',
      title:'',
      align:'center',
      //fit: true,
      width:800,
      height:'auto',
      remoteSort:false,
      fitColumns:false,
      nowrap:true,
      striped: true,   
        border: true,
        singleSelect:true,
        rownumbers:true,
      idField:'resourceid',
      sortName:'resourceid',
      columns:[[
         {field:'ck',checkbox:true},     
         {field:'resourceid',title:'ID',width:80,sortable:true,align:'left',editor:'validatebox'},
         {field:'servicetypename',title:'servicetype',width:150,sortable:true,align:'left',
            editor:{
               type:'combobox',
               options:{
                  url:'data/servicetype_data.json',
                  valueField:'servicetypeid',
                  textField:'servicetypename',
                  panelHeight:'auto',
                  editable:false
               }   
            }
         },

up is my scripts,Now the combobox display valueField when I finished edit and click another row, so I want to know how can combobox display the textField when I finished edit and click another row?
please help,hurry!!!!!
Logged
stworthy
Administrator
Hero Member
*****
Posts: 3581


View Profile Email
« Reply #1 on: September 13, 2012, 05:57:25 PM »

1. Suppose that the data returned from url('data/service_data.json') contains 'servicetypeid' and 'servicetypename' fields. Please change the columns definition as:
Code:
$('#serviceTargetGrid').datagrid({
columns:[[
{field:'ck',checkbox:true},     
{field:'resourceid',title:'ID',width:80,sortable:true,align:'left',editor:'validatebox'},
{field:'servicetypeid',title:'servicetype',width:150,sortable:true,align:'left',
editor:{
   type:'combobox',
   options:{
  url:'data/servicetype_data.json',
  valueField:'servicetypeid',
  textField:'servicetypename',
  panelHeight:'auto',
  editable:false
   }   
},
formatter:function(value,row){
return row.servicetypename;
}
}
]]
});

2. Before finish editing a row, update the 'servicetypename' field value for that row:
Code:
var index = ...	// the editing row index
var ed = $('#serviceTargetGrid').datagrid('getEditor', {
index: index,
field: 'servicetypeid'
});
if (ed){
var text = $(ed.target).combobox('getText'); // get combobox text
var row = $('#serviceTargetGrid').datagrid('getRows')[index];
row.servicetypename = text; // update field value
}
$('#serviceTargetGrid').datagrid('endEdit', index);
Logged
nyr_jack
Newbie
*
Posts: 31


View Profile
« Reply #2 on: September 14, 2012, 12:57:53 AM »

Thank you very much!
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!