よろしくお願いいたします。
vb2008を勉強しております。
DataGridViewにデータを表示し、
横列の背景色の変更を考えております。
For i As Integer = 0 To .RowCount - 1
.Rows(i).DefaultCellStyle.BackColor = Color.Red
Next i
と記述しておりますが、背景色が変わりません。
RowsをCulumsに変えれば縦列の色は変わります。
AlternatingRowsDefaultCellStyle.BackColorを利用すれば横列でも色が変わることは確認できました。
http://oshiete1.goo.ne.jp/qa4495913.html
この方の質問を参考にLoad内に記述しております。
ちがう点は、
親フォームから子フォーム呼び出し、
子フォームのLoad内に記述しております。
<親Form>
子form.MdiParent = Me
子form.Show()
<子Form>
Loadイベント内にDataGridView.Rows(i).DefaultCellStyle.BackColor=~
としております。
いつ指定するかの問題と予想したのですが、アドバイスをお願いします。
お時間がありましたら、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
確かに、下記のコードを Form_Load に記述すると背景色が変更されないようですね。
この部分だけをコンストラクタ(Sub New)に記述することは出来ないのですか?
<子フォーム(Form2)のLoad内>
Using adapter As New SqlClient.SqlDataAdapter("SELECT * FROM tbl_TEST", My.Settings.dbConnectionString)
Dim myDataSet As New DataSet()
adapter.Fill(myDataSet)
DataGridView1.DataSource = myDataSet.Tables(0)
End Using
この回答への補足
korin_様ご回答ありがとうございます。
Sub New内にてDataGridViewを表示し、Load内にて背景色の変更を実行しましたところ、正しく表示できました。
実際にはDataGridViewの表示と背景色変更は同時に実行する為、
また、何度かDataGridViewの内容を更新する為、
dataGridViewLoad()でまとめてあります。
Private Sub dataGridViewLoad()
Using adapter As New SqlClient.SqlDataAdapter("SELECT * FROM tbl_TEST", My.Settings.dbConnectionString)
Dim myDataSet As New DataSet()
adapter.Fill(myDataSet)
DataGridView1.DataSource = myDataSet.Tables(0)
End Using
For i As Integer = 0 To DataGridView1.RowCount - 1
DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.blue
Next i
End Sub
これをNewとLoadで2回実行すると背景色が変更されました。
どちから1回ではだめでした。
こういった表示する為に2回実行する事は悪いことなのでしょうか?
No.1
- 回答日時:
こんにちは。
こちらの環境では、提示されているコードで正常に動作しました。
デバッグで確認して欲しいのですが、DataGiedView.RowCountは正しく表示されていますか?
予想ですが、DataGridView.Rows(i).DefaultCellStyle.BackColor=~の記述の後に
DataGridView.DataSource を指定していませんか?
その場合は DataSource を指定した後に BackColor を変更するようにしてください。
それでも解決しない場合は、問題の切り分けをするために現象が再現出来る最小限のコードを提示してもらえますか?
この回答への補足
korin_様、ご回答ありがとうございます。
ご指摘頂きました件ですが、
DataGiedView.RowCountは正しく表示されます。
DataGiedView.(0, i).Valueでも中身は表示されます。
また、
DataGridView.DataSourceの後に、.BackColor指定を行っております。
SDIにすれば色は変わるのは確認できております。
<親フォームのLoad内>
Me.IsMdiContainer = True
Dim f2 As New Form2
f2.MdiParent = Me
f2.Show()
<子フォーム(Form2)のLoad内>
Using adapter As New SqlClient.SqlDataAdapter("SELECT * FROM tbl_TEST", My.Settings.dbConnectionString)
Dim myDataSet As New DataSet()
adapter.Fill(myDataSet)
DataGridView1.DataSource = myDataSet.Tables(0)
End Using
For i As Integer = 0 To DataGridView1.RowCount - 1
DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.blue
Next i
とすると色が変更されません。
現状では、Form2上のボタン押下にて
For i As Integer = 0 To DataGridView1.RowCount - 1
DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.blue
Next i
これを実行することで逃げております。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Google Drive Google form を利用して 問い合わせフォームを作りたい 1 2022/04/25 14:15
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- 英語 丁寧な伺い(参加可否を促したい)英文を知りたいです。 2 2022/06/28 06:57
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
土曜の昼、学校帰りの昼メシの思い出
週休2日が当たり前の今では懐かしい思い出ですが、昔は土曜日も午前中まで学校や会社がある「半ドン」で、いつもよりちょっと早く家に帰って食べる昼ご飯が、なんだかちょっと特別に感じたものです。
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
C# DataGridView のヘッダーセル中央揃え
C言語・C++・C#
-
DataGridViewで指定列の背景色の変更
その他(プログラミング・Web制作)
-
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
-
4
CellEnterイベント仕様について
Visual Basic(VBA)
-
5
DataGridViewでyyyy/MM/dd
Visual Basic(VBA)
-
6
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
7
VBの画面サイズについて
Visual Basic(VBA)
-
8
コンボボックスの三角を一時的に消す方法。
Visual Basic(VBA)
-
9
Hideについて(.NET)
Visual Basic(VBA)
-
10
DataGridViewで右寄せ左寄せが反映されない
Visual Basic(VBA)
-
11
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
12
DataGridViewで列、行、セルの選択
Visual Basic(VBA)
-
13
[VB.net] DataGridViewの列ヘッダー複数行表示に伴う不具合?について
Visual Basic(VBA)
-
14
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
15
他のデータベースとのテーブル結合
SQL Server
-
16
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
17
VB.NETでファイル名順にファイルを読む方法
Visual Basic(VBA)
-
18
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
19
DataGridViewのセル編集完了後に値を設定するには
Visual Basic(VBA)
-
20
DateTimePickerに値を入れたいのですが…
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
モーダルフォームとモードレス...
-
Microsoft Formsの「個人情報や...
-
VBAでユーザーフォームを再表示...
-
Excelにて、ユーザーフォームで...
-
VBA(エクセル)のユーザー...
-
ExcelVBAのユーザーフォームの...
-
エクセルVBAのフォームを最...
-
ユーザーフォームのテキストボ...
-
アクセスのUserFormにはInitial...
-
Accessで、一つのフォーム画面...
-
C#でボタンクリックをキャンセル
-
Form_Load と Form_Activate の...
-
Access-VBAのPublic変数につい...
-
VB.NETでフォームロード中のエ...
-
アクセス2013 フォームが...
-
VBA フォームに入力された...
-
vb2008にてDefaultCellStyleが...
-
Hideについて(.NET)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
クリックイベントなのに、2回ク...
-
エクセルVBAのフォームを最...
-
ユーザーフォームのテキストボ...
-
VBAでユーザーフォームを再表示...
-
Form_Load と Form_Activate の...
-
Microsoft Formsの「個人情報や...
-
モーダルフォームとモードレス...
-
Hideについて(.NET)
-
ACCESSのフォーム、開くんです...
-
フォームウィンドウを最前面に...
-
VBA(エクセル)のユーザー...
-
ユーザーフォーム上に現在日時...
-
Excelにて、ユーザーフォームで...
-
コントロールの存在確認
-
'ユーザーフォーム右上隅の[×...
-
MSGBOXのフォント大きさ変更
-
フォームのテキストボックスな...
-
Accessで、一つのフォーム画面...
おすすめ情報