DataGridコントロールに、String型の変数に読み込ませたデータを、
トークン分割して、表示させたいと考えております。
できるのでしょうか?
普通ならば、FlexGridコントロールを使えばよいのでしょうが、
このサイトのどこかで、「DataGridコントロールは、Unicode対応だ」と
読んだ記憶がありまして。表示させたいデータには、ハングルや、SJISに
ない漢字、アラビアの文字が入ってくる可能性があるのです。
VB6(SP5) / Win2000
トークン分割した一時テーブルを用意すればいいのでは?
Say様
ありがとうございます。テーブルというのは、一時的なレコードセットを
用意するという意味で、DataGridコントロールは、そのレコードセットを
連結して表示するということになりますか?
よくわかっていないのですが、レコードセットというのは、
AccessのVBAで、よく使う、Dim rst as Recordsetのレコードセットを
イメージしております。
単純に、トークン分割した配列を、まるで、FlexGridコントロールに
入れるかのごとく、DataGridコントロールには、つっこめないものでしょうか。
そのほうが、難しいのかな?
>単純に、トークン分割した配列を、まるで、FlexGridコントロールに
>入れるかのごとく、DataGridコントロールには、つっこめないものでしょうか。
一時テーブルはオンメモリでも作成できますが、
Recordsetを使いたくない理由はなんでしょう?
DataGridはDataSourceの使用を前提としてますので、
それをしたくないのなら
いっそXMLに変換してWebBrowserに表示したらどうでしょう?
> このサイトのどこかで、「DataGridコントロールは、Unicode対応だ」と
そういえば、そういう回答をした記憶が…。(^-^;
# このサイトだったかどうかは覚えていないけれど。
> 読んだ記憶がありまして。表示させたいデータには、ハングルや、SJISに
> ない漢字、アラビアの文字が入ってくる可能性があるのです。
例えば、このような結果になればよろしいのでしょうか?
http://www.ocv.ne.jp/~oratorio/junk/image/UnicodeDG.jpeg
この場合、注意しなければいけない事があります。
DataGridは(WebBrowserやリッチエディットなどと違って)、文字ごとにフォントを
変える事ができないため、あらかじめ、「多言語に対応したユニバーサルフォント」を
インストールさせておく必要があるのです。
(ちなみに先のスクリーンショットでは、"Arial Unicode MS"というフォントを使っています)
# 個別に変更できるなら、「日本語部分:MS ゴシック」
# 「韓国語: GulimChe」「アラビア: Courier New」などのように
# 文字ごとに、逐次、置き換えて使うという手もあるのですけれどね。
> 単純に、トークン分割した配列を、まるで、FlexGridコントロールに
> 入れるかのごとく、DataGridコントロールには、つっこめないものでしょうか。
> そのほうが、難しいのかな?
はい。実はその方が難しいのです。(^_^;)
DataGridは、非連結(アンバウンド)での処理に対応していないため、
どうしても「データソース」を作成する必要があります。
で、その中でも最も扱いが簡単なのが、Recordsetでの処理なのです。
# DataSourceBehaviorプロパティを指定したデータソースクラスを
# 指定するという方法もありますが、より煩雑なコーディングが必要です。
で。Recordsetを使う場合のサンプルを書いてみました。
先ほどのスクリーンショットに使ったコードです。参考までに。
http://www.ocv.ne.jp/~oratorio/windev/vb/UnicodeDataGrid.cab
Say様
早速のアドバイスありがとうございます。
質問者が掲示板に戻るのが遅くて、お恥ずかしい限りです。
あまりに、的外れなことを質問しているのではと、戻るのが
恐ろしく思えるときもありますね。
>Recordsetを使いたくない理由はなんでしょう?
>DataGridはDataSourceの使用を前提としてますので
FlexGridコントロールのRowとColを指定して、値を入れていくような、
プログラムしか書いた経験がなく、なんとなく敷居が高い気がして
おりました。
幸い、魔界の仮面弁士様も、親切なアドバイスをくださいました。
DataSource(RecordSed)を使う方向で、トライしてみます。
魔界の仮面弁士様
サンプルなど含めまして、ありがとうございました。
今、元素表を目の当たりにし、「おおっ」と感嘆したところです。
わくわくしてきました。ソースを見るのが楽しみです。
無事にDagaGridコントロールに、変数の内容を表示されることができました。
Say様、魔界の仮面弁士様、ありがとうございました。
DataGridコントロールの使い方に慣れるのがたいへんだ。
ツイート | ![]() |