質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

3回答

14760閲覧

GridView のセル の罫線の表示/非表示について

qzmr82612

総合スコア12

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2016/12/12 14:27

GridView のヘッダーの枠線の表示/非表示は、スタイルシートで設定が可能であることは
分かっています。

また、静的に、セルの枠線もスタイルシートで設定が可能であることも分かっています。

が、動的にデータ行のセルに対して、枠線の表示/非表示は、どうしたら可能なんだろうと

困っております。

・動的にデータ行のセルに対して、枠線の表示/非表示設定がしたい
・RowDataBoundではなく、DataBoundで設定を行いたい

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

・動的にデータ行のセルに対して、枠線の表示/非表示設定がしたい
・RowDataBoundではなく、DataBoundで設定を行いたい

以下の記事のサンプルコードの GridView1_PreRender メソッドで行っているように、row.Cells[n].Style["border-width"] を設定(ゼロにすれば消えます。n は設定したいセルの位置です)することで可能だと思います。以下の記事では PreRender イベントのハンドラで行っていますが、DataBound イベントのハンドラでも同様なことができます。

GridView のヘッダ、列を固定
http://surferonwww.info/BlogEngine/post/2011/04/30/Freezing-GridView-header-and-column.aspx

#なぜ RowDataBound ではなく DataBound なのでしょう? もし、各行のデータの中身を見てそれに応じてスタイルを設定するというようなことがしたいのであれば RowDataBound で行った方がよさそうなのですが・・・

#局所的な質問だけでなく、全体のシナリオを含めて何がしたいのかを書くことをお勧めします。そうすれば、局所的な質問の部分は実現が無理 or 他にもっと良い方法がある場合、「それはできない or 好ましい方法ではないけど、やりたいことはこうすれば実現できる」というような代案も出てくるかもしれません。

投稿2016/12/13 04:19

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

ご回答を頂いた方々には、感謝したします。

row.Cells[n].Style にて対応が可能なのがわかりました。

どうも、ありがとうございました。

投稿2016/12/13 07:28

qzmr82612

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/13 08:05

どういうわけで「この方法で解決した」になっているのですか?
qzmr82612

2016/12/13 22:56

SurferOnWww さんの回答の通りです。 ありがとうございました。 ということで、ベストアンサーなのですが、 すみません、ベストアンサーの設定ができませんでした m(_ _)m
退会済みユーザー

退会済みユーザー

2016/12/14 00:30

了解しました。回等を見る前に自己解決したのかと思っていました。
guest

0

何で困ってるのかわからないですが。
とりあえず、適当なセルの枠線を Dashed にするのはこうなります。

C#

1protected void GridView1_DataBound(object sender, EventArgs e) 2{ 3 //2行目の3番目のセルに枠 4 ((GridView)sender).Rows[1].Cells[2].BorderStyle = BorderStyle.Dashed; 5}

投稿2016/12/13 04:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問