C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[12]: DataGri\idViewの列を非表示に


(過去ログ 86 を表示中)

[トピック内 13 記事 (1 - 13 表示)]  << 0 >>

■51130 / inTopicNo.1)  DataGri\idViewの列を非表示に
  
□投稿者/ ぽん (34回)-(2010/06/25(Fri) 16:49:09)

分類:[VB.NET/VB2005 以降] 

2010/06/25(Fri) 16:59:23 編集(投稿者)
2010/06/25(Fri) 16:59:21 編集(投稿者)

フォームにデータソースをドラッグ&ドロップでDataGridViewを配置しました。

列の編集で特定の列のVisibleをFalseにしましたが、なぜか実行すると表示されてしまいます。

実行中に確認してみてもVisibleはFalseになっています。
一応デザイナも見たところFalseでした。

どこか疑うポイントがあれば教えていただけませんでしょうか。

【追記】
実行中に確認するとなぜかTrueになっていました。
引用返信 編集キー/
■51134 / inTopicNo.2)  Re[1]: DataGri\idViewの列を非表示に
□投稿者/ マサヤ (49回)-(2010/06/25(Fri) 17:23:40)
DataGridViewのAutoGenerateColumns を falseにしておりますでしょうか?
引用返信 編集キー/
■51136 / inTopicNo.3)  Re[2]: DataGri\idViewの列を非表示に
□投稿者/ ぽん (35回)-(2010/06/25(Fri) 17:28:53)
No51134 (マサヤ さん) に返信
> DataGridViewのAutoGenerateColumns を falseにしておりますでしょうか?

してみましたが、変わらないです。
引用返信 編集キー/
■51138 / inTopicNo.4)  Re[3]: DataGri\idViewの列を非表示に
□投稿者/ マサヤ (51回)-(2010/06/25(Fri) 17:39:21)
>実行中に確認してみてもVisibleはFalseになっています。

>【追記】
>実行中に確認するとなぜかTrueになっていました。

コードでVisibleを指定してるところなどないでしょうか?
また、一度、非表示の列を削除してみてビルドをかけてみたらいかがでしょう?
引用返信 編集キー/
■51141 / inTopicNo.5)  Re[4]: DataGri\idViewの列を非表示に
□投稿者/ ぽん (36回)-(2010/06/25(Fri) 17:52:23)
No51138 (マサヤ さん) に返信
> >実行中に確認してみてもVisibleはFalseになっています。
>
> >【追記】
> >実行中に確認するとなぜかTrueになっていました。
>
> コードでVisibleを指定してるところなどないでしょうか?
> また、一度、非表示の列を削除してみてビルドをかけてみたらいかがでしょう?

全部チェックしてみましたが、変わりませんね。
DataGridViewを再配置してみましたが、なぜかその列はVisibleが無効化されているようです。
引用返信 編集キー/
■51143 / inTopicNo.6)  Re[5]: DataGri\idViewの列を非表示に
□投稿者/ todo (18回)-(2010/06/25(Fri) 17:55:33)
DataGridViewColumnを継承したクラスでVisibleが変わる瞬間を捕獲するとか。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=48298&forum=7
引用返信 編集キー/
■51145 / inTopicNo.7)  Re[6]: DataGri\idViewの列を非表示に
□投稿者/ ぽん (37回)-(2010/06/25(Fri) 17:58:14)
No51143 (todo さん) に返信
> DataGridViewColumnを継承したクラスでVisibleが変わる瞬間を捕獲するとか。
> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=48298&forum=7

読んでみたいと思います。

なぜか削除しても表示されます。
ご提示いただいた質問と同じように先頭列に対してVisibleが効かないみたいですね。
引用返信 編集キー/
■51148 / inTopicNo.8)  Re[7]: DataGri\idViewの列を非表示に
□投稿者/ マサヤ (54回)-(2010/06/25(Fri) 18:08:59)
> なぜか削除しても表示されます。
それはどこかで、AddColumnsとかしているのではないでしょうか?
引用返信 編集キー/
■51160 / inTopicNo.9)  Re[8]: DataGri\idViewの列を非表示に
□投稿者/ yukihiro (1回)-(2010/06/25(Fri) 23:08:16)
そのDataGridViewはTabPageの中にありますか?
だとしたらDataGridViewのバグの可能性が高いかと。
私は非表示の列を2列目以降に置くことで回避してます。

引用返信 編集キー/
■51217 / inTopicNo.10)  Re[9]: DataGri\idViewの列を非表示に
□投稿者/ ぽん (38回)-(2010/06/28(Mon) 09:16:37)
No51160 (yukihiro さん) に返信
> そのDataGridViewはTabPageの中にありますか?
> だとしたらDataGridViewのバグの可能性が高いかと。
> 私は非表示の列を2列目以降に置くことで回避してます。
>

遅くなり申し訳ありません。

ご提示いただいたページを読みましたが、インスタンスは作っているし、思い当たることはありませんでした。

TabPageですが、TabPage内にDataGridViewはありませんが、同じGroupBox内にDataGridViewとTabPageがあります。
その影響でしょうか。

確かに先頭列のVisibleが無視されているようです。
引用返信 編集キー/
■51222 / inTopicNo.11)  Re[10]: DataGri\idViewの列を非表示に
□投稿者/ たか@WEB屋 (1回)-(2010/06/28(Mon) 11:42:35)
上のTagPageの中に置いた場合と同じなのかもしれませんが DataGridViewのデザイナのバグで自分も悩まされました。
VisualStudioのデザイナ上で設定したプロパティと 実際にDesigner.csを直接開いて見たプロパティ値が違ってました。
Visible属性じゃなくて別の属性(なんだったかは忘れた)でしたし
常に起きるわけではなかったので特定の条件下で、、、のようなので今回の件とは別かもしれませんが
Designer.csを直接開いてみてもおかしくはなっていませんか?

ご参考までに。
引用返信 編集キー/
■51276 / inTopicNo.12)  Re[11]: DataGri\idViewの列を非表示に
□投稿者/ ぽん (39回)-(2010/06/30(Wed) 11:59:56)
No51222 (たか@WEB屋 さん) に返信
> 上のTagPageの中に置いた場合と同じなのかもしれませんが DataGridViewのデザイナのバグで自分も悩まされました。
> VisualStudioのデザイナ上で設定したプロパティと 実際にDesigner.csを直接開いて見たプロパティ値が違ってました。
> Visible属性じゃなくて別の属性(なんだったかは忘れた)でしたし
> 常に起きるわけではなかったので特定の条件下で、、、のようなので今回の件とは別かもしれませんが
> Designer.csを直接開いてみてもおかしくはなっていませんか?
>
> ご参考までに。

列の順序を入れ替えて、表示する項目を先頭にすることで対処しました。
ありがとうございました。
解決済み
引用返信 編集キー/
■51300 / inTopicNo.13)  Re[12]: DataGri\idViewの列を非表示に
□投稿者/ yukihiro (2回)-(2010/07/01(Thu) 11:53:39)
どこかにバグ報告があったなと思って探してたらありましたので貼り付けときます。
ぽんさんの場合TabPage内ではないそうなので関係するかどうかわかりませんが、
情報共有ということで。

http://connect.microsoft.com/VisualStudio/feedback/details/108992/setting-datagridview-column-visible-to-false-on-second-tab-control-page-does-not-work

DataBindingCompleteイベントをハンドルすればいいらしいですが、試してません。

private void dataGridView2_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
this.idDataGridViewTextBoxColumn1.Visible = false;
}


MicrosoftはBy Designつまり仕様だと言ってますが、どう見てもバグのような・・・


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -