- PR -

ASP.NETのDataGridで列を非表示にするとGrid全体の右枠の罫線が表示されないのですが・・

1
投稿者投稿内容
千年
会議室デビュー日: 2005/06/17
投稿数: 14
投稿日時: 2005-07-05 10:23
ASP.NETのDataGridの列を非表示にしたらGrid全体の右枠の罫線が表示されなくなりました。
列を全て表示にすれば正常に罫線は表示されます。
また、非表示にする列はどの位置にあってもGrid全体の右枠の罫線が表示されません。
これはDataGridの仕様なのでしょうか?
私の使い方が間違っているのでしょうか?
プログラムには以下のようにコーディングしています。
DataGrid1.Columns.Item(1).Visible = True
DataGrid1.Columns.Item(2).Visible = False
DataGrid1.Columns.Item(3).Visible = True
結果は
-----------------------------
| 列1の内容 | 列3の内容
-----------------------------
| 列1の内容 | 列3の内容
-----------------------------
となって右の罫線が表示されません。
どなたがご教授ください。
餅宮餅吉
ベテラン
会議室デビュー日: 2005/03/04
投稿数: 57
お住まい・勤務地: 月餅のうまい店の隣
投稿日時: 2005-07-05 11:54
引用:

千年さんの書き込み (2005-07-05 10:23) より:
ASP.NETのDataGridの列を非表示にしたらGrid全体の右枠の罫線が表示されなくなりました。
列を全て表示にすれば正常に罫線は表示されます。
また、非表示にする列はどの位置にあってもGrid全体の右枠の罫線が表示されません。
これはDataGridの仕様なのでしょうか?


#回答ではありません

仕様かどうかわかりませんがその前に、
・新しくプロジェクトを作成し、新しいページに余計な設定せずに、DataGridを貼り付けて、データを設定し、一列消して表示してみる。
A.枠の罫線が消える
B.枠の罫線が消えない。

Aの場合、仕様どうか、又解決策があるのかたずねる。
Bの場合、CSSの有無、新しく作成したDataGridと設定が異なる処がないか確認する。

とりあえず、千年さんがどのような環境で、どのようにコーディングされているかは他の人には分らないと思います、最小限の状態でどのようにしたら問題が発生するか、確認しては如何でしょうか?(既にご確認済みなおかつ、この問題が出ていらっしゃるようでしたら、大変申し訳ございません。)

[ メッセージ編集済み 編集者: 餅宮餅喜 編集日時 2005-07-05 13:24 ]
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2005-07-06 07:43
引用:

DataGrid1.Columns.Item(1).Visible = True
DataGrid1.Columns.Item(2).Visible = False
DataGrid1.Columns.Item(3).Visible = True
結果は
-----------------------------
| 列1の内容 | 列3の内容
-----------------------------
| 列1の内容 | 列3の内容
-----------------------------
となって右の罫線が表示されません。
どなたがご教授ください。


ブラウザにDataGridが表示されたらHTMLソースを表示して、内容を比較して
みたらどうでしょうか。何か解決策が見つかると思います。

あと、回避策としてDataGridをランタイム時にダイナミックに作成するとか。
http://www.friendlysw.com/samples/articles/deny/030921-1.aspx
_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
千年
会議室デビュー日: 2005/06/17
投稿数: 14
投稿日時: 2005-07-06 14:07
Accessさん、餅宮餅喜さんアドバイス有難うございます。
何が原因かは究明出来ていませんが・・基本的にはこのような方法でコーディングしても問題ないという事が判りましたので原因は時間を掛けて究明します。
罫線が表示されない事での実害はありませんので(見栄えだけの問題です)
また、原因究明ができたらご報告します。
プワゾン
会議室デビュー日: 2005/01/28
投稿数: 13
投稿日時: 2005-07-13 15:03
千年さん こんにちわ

DatagridのBorderStyleプロパティがNoneになっているのではないでしょうか?
NoSetに変更すれば動的に列を非表示しても罫線が表示されると思いますよ!
デフォルトはNoSetなのですが、自動フォーマットを利用すると自動的にNoneに
設定されるので、それが原因ではないでしょうか??

ちょっとレスが遅かったかな
千年
会議室デビュー日: 2005/06/17
投稿数: 14
投稿日時: 2005-07-15 10:56
プワゾンさんアドバイス有難うございます。
実害がないので・・と怠けていました。
ご指導の通りやってみたら罫線が表示されるようになりました。
有難うございました。
やっと胸の痞えがおりました。感謝感謝です。
1

スキルアップ/キャリアアップ(JOB@IT)