この例では:http://dev.sencha.com/deploy/dev/examples/grid/progress-bar-pager.htmlグリッドから行が削除された後に削除ボタンを配置したい場合、myDataからこのレコードを変更または削除するにはどうすればよいですか?ので、私はページを変更するか、またはリフレッシュボタンをクリックして私の行/行の削除が再び表示されるので。データを変更するソリューションはありますか?Extjs、削除ボタン
多くの感謝のような
この例では:http://dev.sencha.com/deploy/dev/examples/grid/progress-bar-pager.htmlグリッドから行が削除された後に削除ボタンを配置したい場合、myDataからこのレコードを変更または削除するにはどうすればよいですか?ので、私はページを変更するか、またはリフレッシュボタンをクリックして私の行/行の削除が再び表示されるので。データを変更するソリューションはありますか?Extjs、削除ボタン
多くの感謝のような
何か:
var grid = ...; // Your grid.
var button = new Ext.Button({
text: 'Delete row',
handler: function() {
var record = grid.getSelectionModel().getSelected();
if (record !== undefined) {
grid.store.remove(record);
}
}
});
あなたはあなたのデータは実際のために削除することを希望する場合、グリッドは、実際のデータストアからデータを削除する負荷とリモートストアを使用する必要があります。以下は、ローカルの変更を意味します
proxy: new Ext.ux.data.PagingMemoryProxy(myData),
あなたはそれを削除しようとすると、詳細はマニュアルを参照してください
url: 'http://localhost/path/to/get/data'
を置くことができる:あなたがその例のソースに目を通す場合http://dev.sencha.com/deploy/dev/docs/?class=Ext.data.Store
ハードコードされた配列からデータをロードしています。
Ext.onReady(function(){
var myData = [
['3m Co',71.72,0.02,0.03,'9/1 12:00am'],
['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],
['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],
// ...
['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am'],
['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am']
];
myData
は、ページがロードされるたびにその静的な定義から再作成されるため、リフレッシュ間に変更が持続しないのはこのためです。
サーバ側のスクリプト(PHPスクリプトなど)を2つ作成する必要があります。削除されていないレコードのデータは、JSONまたはXML形式で出力されます。もう1つはデータベースからIDでレコードを削除します。
"getter" PHPスクリプトと技術製品に関するデータグリッドを表示するための対応するExt JSコードの作成を扱うチュートリアルです:http://www.devarticles.com/c/a/JavaScript/EXT-JS-Passing-Live-Data/。これは最初のスクリプト(データベースからデータを取得してJSON形式で出力するスクリプト)のみをカバーしますが、それはあなたを動かすはずです。 2番目のスクリプト(データベースからレコードをIDで削除するスクリプト)にAJAXリクエストを発行する関数を使用して、ストアのremove
コールバックをオーバーライドしてください。
これはソリューションmyData.splice(1,1)です。
あなたのアイデアは良いですが、私は現金で働きたいと思いますし、製品を削除するたびにデータベースをリロードしたくありません。私はまた、私のデータベースから行を削除するが、私はデータベースを再読み込みしたくないという機能を持っています。あなたが10-20製品を持っていればOKですが、10.000を持っていれば... – cosy
@cosy削除は再クエリーを引き起こすべきではありません(少なくとも、必要ではない)。削除が正常に行われたと仮定した場合、または削除が失敗した場合は削除されたレコードを復元すると、@ Kaiはうまくいくはずです。 – wombleton
'Ext.Ajax.request()'を使ってAJAXリクエストを送るSaveボタンを置くことも、 'store.save()'を使ってAJAXリクエストを送ることもできます。ストアに 'autoSave'を' false'に設定すると、自動的に変更が保存されます。 – Tower