2

以下は私のコードで、セルに色を付けようとしていますが、グリッドのソースがDBの場合に「Style」プロパティを使用する方法がわかりません。私はこれに慣れていないので、始めるのに苦労しています。

いくつかのウェブサイトやポインタは大いに役立ちます。

いくつかの背景セルに色を付けたり、いくつかの行や特定の列に色を付けたりできるようにしたい...基本的にすべての色に関連しています。現在のスニペットでこれを行うにはどうすればよいですか?また、私がもっと学ぶことができる場所へのリンクをいただければ幸いです。

LarsTechチャットにあなたを追加しようとしていますが、担当者が足りないため、連絡が取れないと思います。

Imports System.Data.SqlClient
Imports System.Collections.Generic

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim connectionString As String = "data source=SQst; database=MVar2; User ID=Wepp; Password=2010Live; Integrated Security=false;"

        Dim sql As String = "SELECT * FROM Prer"

        Dim connection As New SqlConnection(connectionString)

        Dim dataadapter As New SqlDataAdapter(sql, connection)

        Dim ds As New DataSet()

        connection.Open()

        dataadapter.Fill(ds, "Authors_table")

        connection.Close()

        DataGridView1.DataSource = ds

        DataGridView1.DataMember = "Authors_table"
    **DataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.PaleGreen
    DataGridView1.Rows[3].Cells[1].Style.BackColor = Color.Red**    

    End Sub



    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Call PrintDGV.Print_DataGridView(DataGridView1)

    End Sub





End Class

私が得るエラー:

Error   1   Property access must assign to the property or use its value.   
Error   2   Identifier expected.    
Error   3   Property access must assign to the property or use its value.   
Error   4   Identifier expected.    

試しました:DataGridView1.Rows(0).Cell(0).Style.BackColor = Color.Red

そして私は1つのエラーを受け取りました:

Error   1   'Cell' is not a member of 'System.Windows.Forms.DataGridViewRow'.   

編集:ウェブをもっと調べた後、以下のコードを使用して選択したセルに色を付けることができました:

DataGridView1.Item(4, 5).Style.BackColor = Color.Red

ただし、これは行や列に色を付けないので、私はまだそれらを機能させることを目指しています。

4

2 に答える 2

3

これを行うにはいくつかの異なる方法があります。currentcellは現在アクティブなセルを指していると思います。したがって、グリッドを埋めた後にそれに基づいて色を付けると、結果は得られません。

これを行ういくつかの方法は次のとおりです。

c#:
For rows/cells:
dataGridView1.Rows[RowNumber].DefaultCellStyle.BackColor = Color.PaleGreen;
dataGridView1.Rows[RowNumber].Cells[1].Style.BackColor = Color.Red;

for columns:
dataGridView1.Columns[ColumnNumber].DefaultCellStyle.BackColor = Color.Black;


VB:
DataGridView1.Rows(0).DefaultCellStyle.BackColor = Color.Green
DataGridView1.Columns(0).DefaultCellStyle.BackColor = Color.Blue

これらは両方とも、セルの背景に色を適用します。どのセル/行がどのように/どのセル/行に色付けされるかを制御するために、いくつかのロジックを使用します。

于 2012-08-20T13:18:21.530 に答える
0

これは、.aspxファイルで宣言的に設定することもできます。リンクは2.0バージョンのコードへのリンクですが、これはまだ互換性があります。

MSDN

于 2012-08-20T13:31:37.533 に答える