■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
|
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った): |
■ ページの共有: |
[ サイト内検索 ]
![]()
カスタム検索
|
#35100-0配列の内容をグリッドに表示する方法灰色狐2000-12-11(月) 16:26
#35103-0RE#35100:配列の内容をグリッドに表示する方法しのび〜い2000-12-11(月) 16:32
#35105-0RE#35103:配列の内容をグリッドに表示する方法灰色狐2000-12-11(月) 16:54
#35117-0RE#35105:配列の内容をグリッドに表示する方法しのび〜い2000-12-11(月) 18:15
#35119-0RE#35117:配列の内容をグリッドに表示する方法灰色狐2000-12-11(月) 18:24
#35103-0RE#35100:配列の内容をグリッドに表示する方法しのび〜い2000-12-11(月) 16:32
#35105-0RE#35103:配列の内容をグリッドに表示する方法灰色狐2000-12-11(月) 16:54
#35117-0RE#35105:配列の内容をグリッドに表示する方法しのび〜い2000-12-11(月) 18:15
#35119-0RE#35117:配列の内容をグリッドに表示する方法灰色狐2000-12-11(月) 18:24
灰色狐2000-12-11(月) 16:26
グリッドの、例えば(0,0)に配列の(0,0)の内容を表示させるという処理をさせたいと思っております。 grdMain.Cell(0,0) = 配列名(0,0)という感じの指定の仕方を教えて頂ければ幸いです。 宜しくお願い致します。
しのび〜い2000-12-11(月) 16:32
灰色狐さん、初めまして。しのび〜いと申します。 > グリッドの、例えば(0,0)に配列の(0,0)の内容を表示させるという処理をさせたいと > 思っております。 > grdMain.Cell(0,0) = 配列名(0,0)という感じの指定の仕方を教えて頂ければ幸いです。 っとのことですが、これは、「グリッドの列と行が指し示す内容と二次元配列のNのM番目の 内容を同じ様に扱いたい」っと言うことでしょうか? だとすれば、グリッドの最大行数と最大列数で二次元配列を定義し、定義された配列に列と 行が指し示す内容をセットすれば、『grdMain.Cell(0,0) = 配列名(0,0)』っというように なると思います。
灰色狐2000-12-11(月) 16:54
> 灰色狐さん、初めまして。しのび〜いと申します。 こちらこそ、初めまして。 > > グリッドの、例えば(0,0)に配列の(0,0)の内容を表示させるという処理をさせたいと > > 思っております。 > > grdMain.Cell(0,0) = 配列名(0,0)という感じの指定の仕方を教えて頂ければ幸いです。 > > っとのことですが、これは、「グリッドの列と行が指し示す内容と二次元配列のNのM番目の > 内容を同じ様に扱いたい」っと言うことでしょうか? > > だとすれば、グリッドの最大行数と最大列数で二次元配列を定義し、定義された配列に列と > 行が指し示す内容をセットすれば、『grdMain.Cell(0,0) = 配列名(0,0)』っというように > なると思います。 とりあえず、二次元配列のイメージそのままでグリッドに内容を表示させたいと思っております。 つまり二次元配列(0,0)の内容はグリッドの(0,0)に表示させるという感じであります。 教えていただいた方法でやったのですが、「メソッドまたはデータメンバが見つかりません」というエラー が出てしまいました(汗)。 そのときの構文は以下の通りです。 grdMain.Cell(0, 0) = DataTable(1, 1) この『Cell』の所をMatrixに変えましたらば、うまく行きました。 ・・・が、配列の行列指定とグリッドの行列指定は異なるようですね・・・。 配列は(列、行)なのに対して、グリッドでは(行、列)となっているようです。この辺りが、ヘッポコな私 としては辛い所であります(汗)。
しのび〜い2000-12-11(月) 18:15
> grdMain.Cell(0, 0) = DataTable(1, 1) > > この『Cell』の所をMatrixに変えましたらば、うまく行きました。 > ・・・が、配列の行列指定とグリッドの行列指定は異なるようですね・・・。 > 配列は(列、行)なのに対して、グリッドでは(行、列)となっているようです。 > この辺りが、ヘッポコな私としては辛い所であります(汗)。 私自信、グリッドは、使っていないので(Spread/OCXならよく使ってます)よく 解りませんが、配列の行列してとグリッドの行列指定が異なるのは、Redim、 もしくは、配列宣言時にインデックス番号がずれているからではありませんか? 例えば... 10行5列のグリッドがあるとして、配列定義を以下のようにしてしまうと、 番号が一致しませんよね? Dim DataTable(10, 5) As String ~~~~~~ │ └ これを列と考える └ これを行と考える この宣言では、0〜10というよう行と0〜5と言う列になってしまいますよね? 本来であれば、1行目の1列目から5行目の10列目を宣言して配列をグリッド に見立てる必要があるはずです。であるならば... Dim DataTable(1 To 10, 1 To 5) As String ~~~~~~~~~~~~~~~~ 上記のような宣言方法であれば、1〜10行と1〜5列の配列定義になるはずです。 また、考え方を変えると、何も二次元配列にこだわる必要がないと思います。 構造体を宣言し、その構造体を配列として考えると解りやすいかもしれませんよ。 Type User_Cols Col1 As Integer '1列目 Col2 As Integer '2列目 Col3 As Integer '3列目 Col4 As Integer '4列目 Col5 As Integer '5列目 End Type '10行の構造体配列を宣言する Dim DataTable(1 To 10) As User_Cols 上記のように定義すれば、考え安くなると思います。 (例)1行目の1列目 DataTable(1).Col1 '←これで1行目の1列目の値をゲットできます。 こんなところでしょうか?解答になっていなかったら、ごめんなさい。
灰色狐2000-12-11(月) 18:24
> > grdMain.Cell(0, 0) = DataTable(1, 1) > > > > この『Cell』の所をMatrixに変えましたらば、うまく行きました。 > > ・・・が、配列の行列指定とグリッドの行列指定は異なるようですね・・・。 > > 配列は(列、行)なのに対して、グリッドでは(行、列)となっているようです。 > > この辺りが、ヘッポコな私としては辛い所であります(汗)。 > > 私自信、グリッドは、使っていないので(Spread/OCXならよく使ってます)よく > 解りませんが、配列の行列してとグリッドの行列指定が異なるのは、Redim、 > もしくは、配列宣言時にインデックス番号がずれているからではありませんか? > > 例えば... > > 10行5列のグリッドがあるとして、配列定義を以下のようにしてしまうと、 > 番号が一致しませんよね? > > Dim DataTable(10, 5) As String > ~~~~~~ > │ └ これを列と考える > └ これを行と考える > > この宣言では、0〜10というよう行と0〜5と言う列になってしまいますよね? > 本来であれば、1行目の1列目から5行目の10列目を宣言して配列をグリッド > に見立てる必要があるはずです。であるならば... > > Dim DataTable(1 To 10, 1 To 5) As String > ~~~~~~~~~~~~~~~~ > > 上記のような宣言方法であれば、1〜10行と1〜5列の配列定義になるはずです。 > > また、考え方を変えると、何も二次元配列にこだわる必要がないと思います。 > 構造体を宣言し、その構造体を配列として考えると解りやすいかもしれませんよ。 > > Type User_Cols > Col1 As Integer '1列目 > Col2 As Integer '2列目 > Col3 As Integer '3列目 > Col4 As Integer '4列目 > Col5 As Integer '5列目 > End Type > > '10行の構造体配列を宣言する > Dim DataTable(1 To 10) As User_Cols > > 上記のように定義すれば、考え安くなると思います。 > > (例)1行目の1列目 > DataTable(1).Col1 '←これで1行目の1列目の値をゲットできます。 > > > こんなところでしょうか?解答になっていなかったら、ごめんなさい。 あー、なるほど。何となく分かったような気が致します(笑)。 私の場合ヘッポコなので、処理のアルゴリズムがまったくといって良いほど分かっていないのであります。 ですから、今回のお話は非常に参考になりました。 今後とも、宜しくお願い致します(笑)。
このページと関連する記事:
#1381-0構造体配列の宣言のしかた1999-09-08(水) 23:49#2155-0配列2002-05-10(金) 13:20
#28861-0AddItem2002-05-23(木) 00:01
#39401-0固定文字列の代入2001-02-23(金) 15:55
#29361-0RASDIALPARAM 構造体のサイズ(RAS API)2000-09-05(火) 16:52
#11138-0構造体の中身を一括消去したい2000-05-31(水) 15:34
#1479-0スプレッドのコンボボックス2004-03-27(土) 11:53
#11587-0コントロールを2次元配列で使いたいのですが2000-09-20(水) 21:26
#40964-0データグリッドコントロールに表示した位置情報2001-03-29(木) 09:56
#47167-0文字列と構造体2001-09-26(水) 09:44