Thread Rating:
  • 409 Vote(s) - 2.81 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RecordGridの右クリックメニューについて
03-06-2012, 11:41 AM,
#4
RE: RecordGridの右クリックメニューについて
ご回答ありがとうございます。

プロジェクトの規約のため、
Curl標準のRecordGridを継承したクラスを使用しています。

私の方でも、該当の右クリックメニュー表示が遅いグリッドを
Curl標準のRecordGridに変えてみたところ、
列数を減らした時よりも早く、右クリックメニューが表示されました。
hokadaさんのソースと同じような実装になっています。

列数だけの問題かと思っていましたが、
継承したグリッドのソースコードを見直しをしています。

試しに、プロファイリングをしてみたところ、
標準のRecordGridUIを継承したUIクラスの
note-columns-collection-changedメソッドで
時間がかかっているようです。

継承したUIクラスに下記メソッドが存在し、
{method public {context-menu-at xBig Grinistance, yBig Grinistance}:#MenuPane
let menu-pane:#MenuPane
{with self.grid.editable? = false do
set menu-pane = {super.context-menu-at x, y}
}
{return menu-pane}
}

{with self.grid.editable? = false do
のeditableでRecordGridColumnを継承したクラスの
ローカルオプションを参照し、その処理内で
UIクラスのnote-columns-collection-changedメソッドを呼んでいるようです。
{define-class public ExBaseRecordGridColumn {inherits RecordGridColumn}
・・・コード略・・・
{local-option public editable?:bool
{self.note-columns-collection-changed}
}
・・・コード略・・・
{method protected {note-columns-collection-changed}:void
{if-non-null rg = self.grid then
{(rg.ui asa RecordGridUI).note-columns-collection-changed}
}
}
}

試しに、note-columns-collection-changedの
処理内容をコメントアウトしてみたところ、
右クリックメニューの表示が早くなりました。

今回のプロジェクトでどのような仕様でRecordGridを実装すべきか
一旦、フレームワーク作成者と相談してみます。


Messages In This Thread
RE: RecordGridの右クリックメニューについて - by nishiguchi - 03-06-2012, 11:41 AM
Forum Jump:


Users browsing this thread:
1 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('425')