在MySql中是8列(col1,col2,...,col8)和100行。 在DataGridView中是3列(1,2,3)。 列(8) 「priorita」 只有這個字符串:datagridview字體顏色+ mysql
string a1 = "black";
string a2 = "blue";
string a3 = "red";
現在我需要從 「priorita」 列裝載所有字符串和更改文本顏色DGV
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
using (MySqlConnection cnn = new MySqlConnection("[email protected]@@;Database=OitDB;Uid=martin;Pwd=;"))
{
MySqlDataAdapter da = new MySqlDataAdapter("SELECT priorita FROM nrp", cnn);
DataSet ds = new DataSet();
da.Fill(ds, "nrp");
int pocetDGV = dataGridView1.Rows.Count;
for(int i = 0; i < pocetDGV; i++)
{
List<string> LISTpriorita = new List<string>();
foreach (DataRow row in ds.Tables["nrp"].Rows)
{
LISTpriorita.Add(row["priorita"].ToString());
string s = LISTpriorita[i];
if (s == a1)
{
DataGridViewRow row1 = dataGridView1.Rows[e.RowIndex];
row1.DefaultCellStyle.BackColor = Color.White;
row1.DefaultCellStyle.ForeColor = Color.Black;
}
else if (s == a2)
{
DataGridViewRow row2 = dataGridView1.Rows[e.RowIndex];
row2.DefaultCellStyle.BackColor = Color.White;
row2.DefaultCellStyle.ForeColor = Color.Blue;
}
else if (s == a3)
{
DataGridViewRow row3 = dataGridView1.Rows[e.RowIndex];
row3.DefaultCellStyle.BackColor = Color.White;
row3.DefaultCellStyle.ForeColor = Color.Red;
}
}
}
dataGridView1.ColumnHeadersVisible = false;
dataGridView1.EnableHeadersVisualStyles = false;
}
COL1,COL2,COL3是在DGV
顯示我如何可以加載「priorita」數據與DGV比較和更改文本顏色DGV行?我的代碼不起作用。你有任何想法或解決方案?謝謝。
你能詳細說一下_「這不行嗎?」_?它顯示沒有顏色或錯誤的顏色?當你放置一個斷點並逐步完成代碼時,哪一部分被執行以及你期望執行哪一部分? –
您可以上傳帶描述的輸出截圖,以便我們瞭解您的要求 –
它不顯示顏色(默認黑色)。 – Martin