Thread Rating:
  • 271 Vote(s) - 2.83 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Worksheetオブジェクトのセルに複数のTextFieldを入れたい
02-08-2012, 10:50 AM,
#1
Worksheetオブジェクトのセルに複数のTextFieldを入れたい
Worksheetオブジェクトの1つのセルに、TextFieldを縦に2つ配置したいのですが、
どのように配置すればよいのでしょうか?
2行のセルにそれぞれTextFieldオブジェクトを設定し、行の結合を行えばできるかと思いますが、
なるべく1つのセルに入れたい考えです。Worksheetのイメージは添付ファイルのとおりです。


Attached Files
.png   worksheet.png (Size: 2.77 KB / Downloads: 360)
Reply
02-14-2012, 10:08 AM,
#2
RE: Worksheetオブジェクトのセルに複数のTextFieldを入れたい
WorksheetオブジェクトとはCurl External Libraryに含まれている、
Worksheetクラスのことでしょうか。

それならば、単純にVBoxでくくったTextFieldを入れてやればいいのではないでしょうか。
こんな感じで…


{import * from COM.CURL.EXT.WORKSHEET}
{Worksheet
4, 2, {widths 60pt, 1in},
font-size = 10pt, font-family = "Tahoma",
scrollable? = false,
border-width = 1px,

row = 0, col = 0,
row-height = .25in, colspan = 2, {big Sample Worksheet},

row = 1, col = 0, "Quantity", {input-cell domain = int, 0},

row = 2, col = 0, row-height = 1in,
{VBox
"Price",
{TextField width = 50pt, value = "test1"},
{TextField width = 50pt, value = "test2"}
},

{input-cell domain = DataSource.currency-domain, 0.0},

row = 3, col = 0,
{value-cell halign = "right", "Total"},
{formula-cell
domain = DataSource.currency-domain,
{proc {destBig GrinataRef, aBig GrinataRef, bBig GrinataRef}:void
set dest.value = a.as-double * b.as-double
},
{RelativeCellRef -2, 0},
{RelativeCellRef -1, 0}
}
}
Reply
02-14-2012, 04:02 PM,
#3
RE: Worksheetオブジェクトのセルに複数のTextFieldを入れたい
ありがとうございます。

この例では、Quantityにカーソルがある状態でtabキーを押したときにtest1,test2,priceの順に遷移させたいですが、tabキーを押して遷移させてもtest1やtest2の項目には行きません。
また、Quantityにカーソルがある状態でtest1にマウスクリックしてもQuantityに戻ってしまいます。
input-cellのui-specプロパティにこんな感じにVBoxでも入れることができれば実現できそうな感じですが、入れるとアサーションの失敗でエラーになってしまいます。
{input-cell ui-spec =
 {VBox
  "Price",
  {TextField width = 50pt, value = "test1"},
  {TextField width = 50pt, value = "test2"}
 },""}
Reply
02-16-2012, 02:22 PM,
#4
RE: Worksheetオブジェクトのセルに複数のTextFieldを入れたい
あーなるほど、入力させることも視野にいれてるんですね。

ちょっとソースコード見てみましたが、今のWorksheetのつくりでは難しいような
気がします。



{input-cell ui-spec =
{proc {cv:CellValue}:Visual
set cv.spec._locked? = true
{return

{VBox

"Price",

{TextField width = 50pt, value = "test1"},
{TextField width = 50pt, value = "test2"}
}
}
}
},
""
}

ui-specの指定でこのようにprocを指定してVisualを返すことができ、
その中でCellSpecの_locked?プロパティを変えてやるとアサーションエラーは
発生しませんが、勿論tabキーでの遷移はうまくいきません。

どうもフォーカスが当たったときに編集用のエディタにはValueControlしかダメなようで、
今回のようにVBoxなどのVisualではあくまでも表示用ということになり、
フォーカスが当たらず遷移対象から無視されるみたいです。
Reply

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('404')