ホームページ  >  記事  >  ウェブフロントエンド  >  extjs_javascript スキルでフォームとグリッド間でデータ (記録) をやり取りする方法

extjs_javascript スキルでフォームとグリッド間でデータ (記録) をやり取りする方法

WBOY
WBOYオリジナル
2016-05-16 17:23:591401ブラウズ

まず、グリッドの tbar に編集ボタンを定義します。
Js コード

コードをコピーします コードは次のとおりです。次のように:

id:'editDataButton'、
text:'edit'、
tooltip:'edit'、
iconCls:'edit'、
ハンドラー: function(){ showitPanel( );}

フォームを再定義:

Js コード

コードをコピー コードは次のとおりです。

var xjjlEditForm = new Ext.FormPanel ({....フォーム内の定義内容を省略...});

次に、編集ボタンで呼び出される関数 showitPanel を定義します (そして、同時にフォームをロードするウィンドウ):


Js コード

コードをコピー コードは次のとおりです:

//-- 編集によって呼び出される関数ボタン(ポップアップ編集フォーム)
function showitPanel()
{ //選択行に対応するレコードを直接取得
var record =grid.getSelectionModel().getSelected()
if( !record){
Ext.Msg.alert('メッセージ','編集するデータを選択してください');
return
}

//--編集ウィンドウを定義します
if(!xjjlEditWindow)
{
xjjlEditWindow = new Ext.Window({
el: 'edit_win', //フロントエンドは現在の js ファイル ページ内の div 名は
title: 'レコードの編集'、
width: 650、
height: 360、
closeable: false、
closeAction: 'hide'、
resizable : false,
items: xjjlEditForm //編集したフォームをウィンドウにロードします
});

}

xjjlEditWindow.show(Ext.get('editDataButton'));//編集ウィンドウを表示します

//[注意] 最初に xjjlEditWindow.show(); 次に xjjlEditForm.getForm().loadRecord(currrecordRecord); を実行すると、前のページの読み込みが完了した後、[編集] のときにデータを読み込めない問題を解決できます。 ] ボタンが初めてクリックされた場合 フォームの問題です。

xjjlEditForm.getForm().loadRecord(record);
//重要なのは、現在選択されているグリッド内のレコードをフォームに入力することです
}

このように、新しいウィンドウで使用できます。選択したデータはウィンドウ内で編集されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。