Thread Rating:
  • 312 Vote(s) - 2.81 Average
  • 1
  • 2
  • 3
  • 4
  • 5
セルが表示されているレコードが正しく取得できない
11-25-2013, 06:40 PM, (This post was last modified: 11-25-2013, 06:41 PM by umemura.)
#3
RE: セルが表示されているレコードが正しく取得できない

先のソースでは、セルに値を入力後、returnキー等を押さずにフォーカスアウトすると、
セルの中の値が正しく反映されずに、消えてしまう、という問題がありました。

デバッグで create-editor で生成したTextField のvalueを確認したところ、
同じくcreate-editor内で追加した ValueFinished のイベントハンドラの前後で、
テキストフィールドの値が異なっていました。

オープンコントロールのソースを見る限り、
SRGTextField のコンストラクタ内でもValueFinished のイベントが追加されており、
その中で、変更前の値が、セルのattempt-update に投げられているようでした。

セルの値が変更されたら何かを行う、という処理は、
create-editor で生成したコントロールの値変更イベントで設定するのではなく、
StandardStringCell.attempt-update をオーバーライドしたほうが良いのかもしれません。

下記のソースであれば、セルの値を変更した直後にフォーカスアウトしても、
値が残るようなことはありませんでした。


Code:
{define-class public CustomCell {inherits StandardStringCell }
{constructor public {default ...}
{construct-super {splice ...}}
}
{method public {attempt-update val:any}:#void
{super.attempt-update val}
{if-non-null r = self.record , col = self.column then
def yen = {String r[col.field-name]}
set r["tax"] = {yen.to-int} * 0.05 & "円"
}
}
}


Messages In This Thread
RE: セルが表示されているレコードが正しく取得できない - by umemura - 11-25-2013, 06:40 PM
Forum Jump:


Users browsing this thread:
3 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('1011')