DataGridの行数と列数を変える

解決


むらちゃん  2004-08-17 03:47:26  No: 115649

例えばなんですが
ラジオボタンとかで選択させて
左のラジオボタンがチェックされていたら
DataGridの列数を5、行数を3
右のラジオボタンがチェックされていたら
DataGridの列数を8、行数を4
という具合にしたいのですがよくわかりません。

他の言語では
StringGridというグリッドがあって
RowCountとかColCountなどがありました。

VB.netで検索してみたらヒットしたので
使えるかと思ったら
コンパイルが通りませんでした。

大変申し訳ありませんが、よろしくお願いいたします。


むらちゃん  2004-08-17 04:15:42  No: 115650

補足です。
VB.netです。


特攻隊長まるるう  2004-08-17 18:52:09  No: 115651

うーん。仕様の限界に関するような事はあまりボクは詳しくないんですが…
とりあえず、
>RowCountとかColCountなどがありました。
>
>VB.netで検索してみたらヒットしたので
>使えるかと思ったら
>コンパイルが通りませんでした。
この辺は ReadOnly なプロパティだからですよね?
基本的に[VB.NET]の DataGrid は DataSource となるもの(
DataTable DataView DataSet など)を表示するのみで、行数や
列数を設定するようなコントロールでは無いと認識しております。
で、表示対象となるものが決められた時点で、デザイン画面で
設定されている範囲を越えた表示はスクロールバーが自動で
出ると思います。ですから、行数・列数の設定は無意味というか
…どう解釈すればいいか分かりません。

DataSource から表示用にカスタマイズしたい場合などの為に
DataView クラスといったものもありますし、その辺りで表示
するオブジェクト自体を編集することになるのでは無いでしょうか?


むらちゃん  2004-08-17 20:33:59  No: 115652

まるるうさんありがとうございます。
仕様上のことならば
残念ながら仕方ないですね。

具体的に挙げますと  DataGridで
項目1  項目2  項目3  項目4  項目5
表示    表示    表示    ボタン  ボタン
という感じになっております。
4番目5番目の列は  
データグリッドのColumnプロパティのボタン列を使っています。

条件により場合分けをして
列数が4、または5になるようにしたいのです。

列数が4のときに
5番目の列を見えなくするのがベストなんですが
不可能ならば
ボタンのキャプションを見えなくして押せなくするように
何とかしたいところです。

別に新たにWEBフォームを作って同じ画面を作り
DataGridの列数が、4のものと5のもの区別して
作ってしまうのがいいのかもしれませんね。

DataGridについて
もっと自分でいろいろ調べたいと思います。

どなたかいい解決方法があったら
ぜひお教えください。
よろしくお願いいたします。


特攻隊長まるるう  2004-08-17 21:17:09  No: 115653

ですから DataView クラスを使って表示用のデータを編集しては
どうですか?って回答をしたつもりなんですが…。

>別に新たにWEBフォームを作って
ASP でしたっけ?すみませんが、[VB.NET]と[ASP.NET]では
だいぶ違います。ボクは ASP は未経験なので回答は止めておきます。
[VB.NET]なら列を見えなくするのは列幅を変更して出来ます。
http://dobon.net/vb/dotnet/datagrid/columnwidth.html
[過去ログ]
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200404/04040077.txt

ASP ならこの辺とか探せば出てくるかも?
http://www.atmarkit.co.jp/fdotnet/index/bbs/dir6.html


特攻隊長まるるう  2004-08-17 21:24:52  No: 115654

[ASP.NET]サンプルありますね。
[[ASP.NET]DataGridコントロールの列を実行時に表示/非表示するには?]
http://www.atmarkit.co.jp/fdotnet/dotnettips/086hidecolumn/hidecolumn.html


むらちゃん  2004-08-20 04:10:46  No: 115655

まるるうさん
ソース参考にしました。
かなり勉強になりました。
ありがとうございました。

悩んでるところを先輩に
DataGrid.Columns(4).Visible = False
とかでOKって教えてもらいました。

列を見えなくするように
カラムの操作をするという感じみたいですね。

カラムの括弧の数値は列数です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加