Saya memiliki DataGridView
pada aplikasi formulir saya. Setelah mengambil data dari tabel di database dan menampilkannya di DataGridView
, saya menerapkan warna hijau ke BackColor beberapa sel pada baris jika kondisi tertentu terpenuhi. Setelah sel tersebut diwarnai hijau, program akan melewati kondisi lain, yang akan mewarnai BackColor merah seluruh baris jika gagal memenuhi persyaratan kondisi.
Namun, sepertinya sel yang sudah diwarnai sebelumnya tidak dapat ditimpa dengan warna baru. Meskipun saya menerapkan kode berikut untuk mewarnai seluruh baris merah, ini hanya berfungsi untuk sel yang belum diwarnai sebelumnya.
for(int i=0; i<myDataGridview.Rows.Count; i++){
if(/*a certain condition FAILS*/){
myDataGridView.Rows[i].DefaultCellStyle.BackColor = Color.Red;
}
}
Saat ini, saya mewarnai sel-sel yang sudah diwarnai merah satu per satu, tetapi ini membutuhkan banyak waktu dan kode seperti:
for(int i=0; i<myDataGridview.Rows.Count; i++){
if(/*a certain condition FAILS*/){
//Trying to color the whole row RED, but not working
myDataGridView.Rows[i].DefaultCellStyle.BackColor = Color.Red;
//Manually color the cells, which are pre-colored to green, RED
myDataGridView.Rows[i].Cells[6].Style.BackColor = Color.Red;
myDataGridView.Rows[i].Cells[7].Style.BackColor = Color.Red;
....
myDataGridView.Rows[i].Cells[13].Style.BackColor = Color.Red;
myDataGridView.Rows[i].Cells[16].Style.BackColor = Color.Red;
}
}
Saya bertanya-tanya apakah ada cara yang lebih baik untuk mengganti backColor. Dapatkah seseorang tolong bantu?
Berikut adalah contoh (tiruan) DataGridView.
Mereka yang gagal dalam kondisi pertama secara otomatis membuat seluruh barisnya menjadi merah, dan itu berhasil. Namun, jika mereka melewati kondisi pertama dan membuat sel "Pass1" berwarna hijau, lalu gagal pada kondisi kedua, seperti yang Anda lihat, sel tersebut tetap hijau. Saya ingin mewarnai seluruh baris menjadi merah, bahkan menimpa sel yang sebelumnya diwarnai menjadi hijau menjadi merah.
CellPainting
. Jika Anda mengkodekan seluruh kondisi, itu sudah cukup. - person TaW   schedule 21.09.2017