『壹』 extjs中GridPanel怎麼動態生成列
Ext.onReady(function(){
varsm=newExt.grid.CheckboxSelectionModel();
varcm=[newExt.grid.RowNumberer(),sm,
{header:"編號",dataIndex:"id",width:65,hidden:true},
{header:"名稱",dataIndex:"name",width:65},
{header:"路徑",dataIndex:"url",width:65}
]
varfd=["id","name","url"];
varstore=newExt.data.JsonStore({
fields:fd
})
vardata=[{
id:1,name:"xiao",url:"sssssssssss",sex:"male"
}]
vargrid=newExt.grid.GridPanel({
sm:sm,
columns:cm,
store:store,
width:500,
height:400,
tbar:[{
text:"生成",
icon:"images/icons/add.png",
cls:"x-btn-text-icon",
handler:function(){
varres={fields:[{name:"sex"}],columns:[{header:'性別',dataIndex:"sex",width:65}]};
varcolumns=res.columns;
varfields=res.fields;
for(vari=0;i<fields.length;i++){
fd.push(fields[i].name);
cm.push(columns[i]);
}
//重新綁定store及column
ss=newExt.data.JsonStore({
fields:fd
});
grid.reconfigure(ss,newExt.grid.ColumnModel(cm));
ss.loadData(data)
}
}]})varwin=newExt.Window({
title:"sssssss",
width:700,
height:500,
layout:"fit",
closable:true,
items:[grid]
})
win.show();
});
主要是grid里的reconfigure這個方法:配置grid以使用一個不同的Store和Column Model並觸發'reconfigure'事件。 視圖將會被綁定到新的對象並刷新。
這個例子,是一個按鈕加列的,你自己看看改改吧。有問題在問我吧。
『貳』 Extjs中如何給gridPanel 單元格中加入Ext風格的button
tabr:是放在上面的工具欄,還有放在下面的工具欄,具體怎麼寫我忘掉了,你可以查看一版下API
tabr:[
{text:'button' ,handler:function(){}}
]
這就是Ext風格的button了,權
祝你好運,有啥問題,留言,討論
『叄』 extjs grid.Panel 局部刷新
我的處理方法是前台輪詢查詢最新變更數據。
利用Ext.util.TaskRunner()
var task = {
run: function(){
//更新表格部分數據,循環體版
//這里需要獲取後權台變更的最新數據。然後根據這些數據修改當前表格中的數。
//獲取需要修改的記錄:var record = store.getById(數據ID);
//修改列的值: record.set(參數一: 列數據源,即dataindex ,參數二:更新後的值);
},
interval: 1000 //一秒執行一次
}
var runner = new Ext.util.TaskRunner();
runner.start(task);
『肆』 extjs 如何將GridPanel頁面渲染到panel里
//表格1
var grid1 = Ext.create('Ext.grid.Panel',{});
//表格2的查詢提交事件
function search(){
Ext.Ajax.request({
url: '數據處理頁面',
success: function(response){
var respText = Ext.decode(response.responseText);
//重點,表格1重新加回載數據,答後台輸出json格式的查詢結果
grid1.store.loadData(respText);
}
});
}
『伍』 EXTJS GridPanel 顯示數據量 讀取數據完後的事件
gridpanel不是有個數據源store
store.getTotalCount( ) ;獲取作為服務端返回的數據集中記錄的總回數
store.getCount( ) ;獲取緩存記錄的總數。獲得當前答gridpanel的數據量
store.on('load',function(){
});當數據載入後,用於操作
『陸』 extjs3.0 EditorGridPanel 數據 載入步驟
var cm = new new Ext.grid.ColumnModel([
{
header:'名字',
dataIndex:'username', //和record對應
editor:new Ext.form.TextField() //定義可以用文本框編輯
}
]);
var record = Ext.data.Record.create([
{name:'username'}
]);
var store = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:''}), //url是你的請求,必須返回對應的json字元串
reader:new Ext.data.ArrayReader({},record //數據會通過reader解析,放入store里
});
store.load();
var editorGrid = new Ext.grid.EditorGridPanel({
renderTo:Ext.getBody(), //渲染grid
store:store, //這是數據來源
cm:cm //這是列定義
clicksToEdit:1, //單擊單元格進入編輯,2是雙擊
});
『柒』 ext gridPanel 怎麼拿到被渲染後的值。急.
這是一個成功的例子來,資料庫里源表的欄位名為NHJ,可以這樣通過判斷欄位的值進行渲染,也可以通過寫一個函數來實現,方便對多個欄位渲染,有興趣的話再問我
{
header : '環節',
dataIndex : 'NHJ',
sortable : true,
renderer : function(v) {
if (v == 1) return '計劃和測試';
if (v == 2) return '執行發布';
if (v == 3) return '發布後測試';
if (v == 4) retrun'執行撤銷計劃';
}
}
『捌』 Ext.grid.panel如何根據狀態修改render方式設置的單元格當中的內容
value就是你單元格的內容。
拿你最後兩句比如來說
renderer: function(value, metaData, record, rowIdx, colIdx, store, view) {
if(value == 『正常』專){
return 'OK';
}else if(value == '異常'){
return 'false';
}else{
return value;
}
}
留個名字:七脈、屬
『玖』 Extjs grid列表中,我用渲染的方式,在行中添加了button按鈕,卻不知該如何添加方法了。
從你目前這樣 建議把你的addWindow定義以及show的動作寫成一個在全局的最外面的方法版
onclick里只要onclick="javascript:showFunName()" 就可以調到權
要是我做的話會在controller里監聽grid的cellclick( Ext.view.Table this, HTMLElement td, Number cellIndex, Ext.data.Model record, HTMLElement tr, Number rowIndex,Ext.EventObject e, Object eOpts )
事件, 用參數e.target.classname或其他什麼區分是這個button再做窗口彈出的動作
『拾』 EXTJS 把table渲染成grid的方法
extjs 的官網上有,地址在參考資料