View Full Version : 登録後のレコードをグリッドにハイライト表示する方法
tomof
25 Mar 2009, 7:29 AM
件名のとおりですが、どういう処理にすべきか悩んでいます。方法として下記二つを考えています。
A.登録したレコード情報をそのまま保持して、Recordを作成しグリッドに追加。グリッドではAddイベントを拾って対象のレコードをハイライト。
B.レコードが登録したら一旦、グリッドストアをロードし直す。登録したデータのキーとなる情報を保持しておき、そのキーを全グリッドレコードにつき合わせて、一致したレコードをハイライト。
現在、Bの方法で進めていたのですがAのほうがスマートですかね:-?
Aの方法だと、カラム数が多い場合にレコードを作成するのが面倒かなぁと思ってしまいBの方法で進めてしまったんですが…。
良いアドバイスがあれば教えてください。よろしくお願いします。
yuki
25 Mar 2009, 10:53 PM
「レコード」の登録先っていうのはストア以外のものなのでしょうか?
ストアなのであれば、追加したレコードを検索するメソッドはいくつか用意されているので、それほど難しいことではないと思うのですが・・・。
サンプルコードか何かあるともうちょっと分かると思うのですが:)
tomof
26 Mar 2009, 12:01 AM
「レコード」の登録先っていうのはストア以外のものなのでしょうか?
ストアなのであれば、追加したレコードを検索するメソッドはいくつか用意されているので、それほど難しいことではないと思うのですが・・・。
説明不足でした。申し訳ありません。:((
現状で、以下のような、処理を考えています。
・グリッド上にDBから取得したデータがずらっと並んでいます。
・登録ボタンを押すと登録フォームのウインドウが表示され、入力欄に値を入力出来るようになっています。
・値を入力して送信ボタンを押すとDBに入力した値が登録されます。
・DB登録後、登録フォームのウインドウが消え、グリッド上に登録したばかりのレコードがハイライトしながら表示されるようにしたいと考えています。
送信ボタンを押したあとの処理は、次のように考えています。
,handler: function(){
insertForm.getForm().submit({
method: 'POST',
url: '/insert/',
success: function(form, action) {
insertWindow.hide();
//Store.load()かRecordのAddでグリッド上に登録したレコードを表示してハイライトする処理
他にも必要な情報があれば、教えてください。
よろしくお願いします。
色々なケースが考えれますね、これは:)
例えば、
新規に登録されたデータは必ずGrid内に表示されるのか?(PagingToolbarを使ったページ送りをしている場合)
Grid内に表示されるとして、表示エリア内にあるのか、それともスクロールしないといけないのか?
一度に表示しているデータ件数は?
クライアント側のデータだけでRecordを作れるものなのか?
などなど考えられますが、単純化して、「新規登録データは必ずGridの一番上に表示される」とした場合、最初に質問のAの方法が簡単なんでしょうね(Recordを作成して、Storeにつっこんで、ハイライト表示する)。
あまり、回答になってないですが・・・:((
tomof
30 Mar 2009, 1:53 AM
やはりAの方法が良さそうですかね。
自分のStoreのレコード追加に関する考え方が外れていないかや、見落としている便利なメソッドがあるんじゃないかという不安があり、
確認をしたかったという思惑もあったので。
あまり、回答になってないですが・・・:((
いえいえ、いつもありがとうございます。(><)
Powered by vBulletin® Version 4.1.5 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.