DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridの非表示について

環境/言語:[環境( XP)、使用言語(VB.NET)、.NET Frameworkのバージョン(1.1)]
分類:[ASP.NET]

.Net Tips「DataGridの列を削除する、列を非表示にする」を
参考にして、DataGridの非表示を作成したのですが、
「アプリケーションでサーバー エラーが発生しました。
型 'String' でパブリック メンバ 'ColumnMapping' が見つかりません。」
とのエラー表示がでました。

作成は
dr(2) = myRow("担当者")
dr(3) = myRow("担当者ID")
dr(3).ColumnMapping = MappingType.Hidden
です。
どこが悪いのかわからない為、お知恵をお借りしたく思います。
■No19065に返信(R・デコさんの記事)

答えたくても dr() の型がわからないと(答えるのは)難しい、とウチのひろゆきが
申しております。

元はこれですね(こういうのは最初に書いておいてほしい)
http://dobon.net/vb/dotnet/datagrid/hidecolumn.html

> //DataColumnオブジェクトの作成
> DataColumn dc1 = new DataColumn("Column1", typeof(string));
> dc1.ColumnMapping = MappingType.Hidden;

ここを変更したものだと思いますが、dc1 は DataColumn 型になっています。
R・デコさんの作成した dr() は DataColumn 型になっていますか?
dr という名前から察するに、DataRow 型だったりしませんか?
その辺を調べてみてください。

ちなみに「どこが悪いのかわからない」レベルだと、答える方も「どこを
答えていいかわからない」ので、できればどこが悪いかわかるぐらいに勉強
してから質問していただけると助かります。
というか、ぜひそうしていただきたく。
ぽぴ王子さんがいわれているとおり
以後、質問の際は気をつけます。

また、
>dr という名前から察するに、DataRow 型だったりしませんか?
>その辺を調べてみてください。
との事ですが、drは、DataRow型でした。

現状のことを踏まえて
DataRow型での幅変更を教えて頂きたいです。
■No19074に返信(R・デコさんの記事)
> 現状のことを踏まえて
> DataRow型での幅変更を教えて頂きたいです。

…ご自分のおっしゃってることに疑問を感じませんか?
DataRowの幅って何でしょう? それを変えるとどういう見た目になるのでしょう?

単純に、ある行を非表示にしたいのであれば、DataView.RowFilterあたりを調べてみましょう。
2007/02/14(Wed) 10:48:15 編集(投稿者)

■No19075に返信(シャノンさんの記事)
> …ご自分のおっしゃってることに疑問を感じませんか?
> DataRowの幅って何でしょう? それを変えるとどういう見た目になるのでしょう?
>
> 単純に、ある行を非表示にしたいのであれば、DataView.RowFilterあたりを調べてみましょう。

元記事を読むと、DataColumn の ColumnMapping プロパティを変更すると、
DataGrid に列を表示しないようにできるということのようです。
なので、行単位であれば DataView.RowFilter あたりなんですが、この場合は列な
ので少し違うかな、と。

■No19074に返信(R・デコさんの記事)
>現状のことを踏まえて
>DataRow型での幅変更を教えて頂きたいです。

あれ?元の質問って幅変更なんでしたっけ?
とりあえず列を非表示にする方法ということで回答しますね。

dr が DataRow だとすると、dr(2) は DataRow が持っているデータの内容になります。
ということは、目的としている DataColumn はどこから取ればいいでしょうか。
DataColumn は列の型ですから、この場合 DataTable が持っているはずです。
DataTable のプロパティをよく見ると、Columns プロパティがあって、そこから
DataColumn 型が取ってこれそうです。
# これは下のサンプルを見れば一目瞭然なわけですがッ

そうなると、こういう感じかな

dt.Columns(3).ColumnMapping = MappingType.Hidden

--- ここから余談

> 以後、質問の際は気をつけます。
(中略)
> 現状のことを踏まえて
> DataRow型での幅変更を教えて頂きたいです。

とりあえず文章をよく読んで、文章の書き方も考えてから質問したほうがいい気がす
るね。
これだと「オレはこういう内容を出したから、アンタさっさと答えろよコラ」っていう風に
取れちゃう。そういう意味じゃないんだろうけど。
# そういう意味だったら「(・∀・)カエレ!」って言っちゃうかもしれないケド

DOBON.NET | プログラミング道 | プログラミング掲示板