İlginç bir sorun var. Bir datagridview için veri kaynağı olarak bir datatable kullanmaya çalışıyorum. Tablonun bazı hücrelerini çeşitli şeyleri göstermek için renklendirmek istiyorum, ancak bir nedenden ötürü renk gösterilmeyecek. Bu yüzden aşağıdaki kod renklenmemiş bir hücreyi gösterir.Veri kaynağı kullanırken datagridview hücre rengini değiştiremiyorum
dataGridView1.DataSource = table;
dataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Yellow;
sadece bir renk (tıklatıldığında olay, bir hücre rengini, örneğin) bir başlangıç formu yük sonra gösterilecek alabilirsiniz. Ancak, aşağıdaki kodda olduğu gibi görünüm için satır ve sütunları açıkça oluşturursam, renklendirme çalışır.
foreach (DataColumn col in table.Columns)
dataGridView1.Columns.Add(col.ColumnName, col.ColumnName);
for (int i = 0; i < table.Rows.Count; i++)
{
var row = table.Rows[i];
object[] values = new object[table.Columns.Count];
for (int x = 0; x < table.Columns.Count; x++)
values[x] = row[x].ToString();
dataGridView1.Rows.Add(values);
}
dataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Yellow;
Kodu bu şekilde sahip olmak istemiyorum. Burada neler olduğunu bilen var mı, beni hücrelerin renklendirmesini engelliyor mu?
Hücreleri renklendirmeye çalıştığınız yeri göstermezsiniz - InitializeComponent() çağrıldıktan sonra form oluşturucunun içinde olduğunu tahmin ediyorum. Cevabım buna dayanıyor. –