首页 > 代码库 > 对unidbgrid的单元格操作

对unidbgrid的单元格操作

一、使某行某列单元格disabled:

1. UniStringGrid -> Options -> goEditing = true

2. UniStringGrid -> ExtEvents -> add event beforeedit

function beforeedit(editor, context, eOpts) {    var FixedRow, FixedCols;  FixedRow = 1;   FixedCols = 1;     if (editor.cmp.uniRow < FixedRow || editor.cmp.uniCol < FixedCols) {     return false;  }}
It can be used also in UniDBGrid, to lock some cells ...

二、在客户端点击unigrid时取得cell值:
Hi wxb_km. 
 
Basically, your question should be solved as follows: 

 

1. Need to use the function 

cellclick(sender, metaData, td, cellIndex, record, tr, rowIndex, e, eOpts)

2. Here cellIndex - is the column index and rowIndex - the index of the row. http://docs.sencha.c...event-cellclick

 

3. And use it to get the value:

sender.store.getAt(rowIndex).get(cellIndex)

i.e.:

function cellclick(sender, metaData, td, cellIndex, record, tr, rowIndex, e, eOpts){    alert(sender.store.getAt(rowIndex).get(cellIndex));} 
But in my case (I use UniGUI 0.94.0.1023, under certain circumstances), I think some of the variables swapped! 
For me works if I do so:
function cellclick(sender, metaData, td, cellIndex, record, tr, rowIndex, e, eOpts){   alert(sender.store.getAt(tr).get(td));} 

或者:

function cellclick(sender, metaData, td, cellIndex, record, tr, rowIndex, e, eOpts)
{
var fieldname=sender.getGridColumns()[cellindex].dataIndex;
alert(record.get(fieldname));
}