例えばなんですが
ラジオボタンとかで選択させて
左のラジオボタンがチェックされていたら
DataGridの列数を5、行数を3
右のラジオボタンがチェックされていたら
DataGridの列数を8、行数を4
という具合にしたいのですがよくわかりません。
他の言語では
StringGridというグリッドがあって
RowCountとかColCountなどがありました。
VB.netで検索してみたらヒットしたので
使えるかと思ったら
コンパイルが通りませんでした。
大変申し訳ありませんが、よろしくお願いいたします。
補足です。
VB.netです。
うーん。仕様の限界に関するような事はあまりボクは詳しくないんですが…
とりあえず、
>RowCountとかColCountなどがありました。
>
>VB.netで検索してみたらヒットしたので
>使えるかと思ったら
>コンパイルが通りませんでした。
この辺は ReadOnly なプロパティだからですよね?
基本的に[VB.NET]の DataGrid は DataSource となるもの(
DataTable DataView DataSet など)を表示するのみで、行数や
列数を設定するようなコントロールでは無いと認識しております。
で、表示対象となるものが決められた時点で、デザイン画面で
設定されている範囲を越えた表示はスクロールバーが自動で
出ると思います。ですから、行数・列数の設定は無意味というか
…どう解釈すればいいか分かりません。
DataSource から表示用にカスタマイズしたい場合などの為に
DataView クラスといったものもありますし、その辺りで表示
するオブジェクト自体を編集することになるのでは無いでしょうか?
まるるうさんありがとうございます。
仕様上のことならば
残念ながら仕方ないですね。
具体的に挙げますと DataGridで
項目1 項目2 項目3 項目4 項目5
表示 表示 表示 ボタン ボタン
という感じになっております。
4番目5番目の列は
データグリッドのColumnプロパティのボタン列を使っています。
条件により場合分けをして
列数が4、または5になるようにしたいのです。
列数が4のときに
5番目の列を見えなくするのがベストなんですが
不可能ならば
ボタンのキャプションを見えなくして押せなくするように
何とかしたいところです。
別に新たにWEBフォームを作って同じ画面を作り
DataGridの列数が、4のものと5のもの区別して
作ってしまうのがいいのかもしれませんね。
DataGridについて
もっと自分でいろいろ調べたいと思います。
どなたかいい解決方法があったら
ぜひお教えください。
よろしくお願いいたします。
ですから 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
[ASP.NET]サンプルありますね。
[[ASP.NET]DataGridコントロールの列を実行時に表示/非表示するには?]
http://www.atmarkit.co.jp/fdotnet/dotnettips/086hidecolumn/hidecolumn.html
まるるうさん
ソース参考にしました。
かなり勉強になりました。
ありがとうございました。
悩んでるところを先輩に
DataGrid.Columns(4).Visible = False
とかでOKって教えてもらいました。
列を見えなくするように
カラムの操作をするという感じみたいですね。
カラムの括弧の数値は列数です。
ツイート | ![]() |