我嘗試開發C#應用程序(採集產品由條形碼),以Windows CE的掌上設備與Compact Framework的3.5如何改變不同行的顏色在數據網格的C#Windows CE
我有一個DataGrid和DataGrid是綁定與數據表由SQL。我的數據網格中有4列,第3列代表需要收集的產品的數量,最後一列的默認值爲0(收集的數量)。每當用戶輸入產品代碼,產品的量由1
我想使行藍色的背景顏色,當用戶輸入相應的產品代碼(以顯示被收集,其產物)增加1
和如果用戶收集所需產品,我也想讓背景顏色變成綠色。
我試着通過選定的索引着色行,但它不起作用。當選擇消失後,顏色消失了。
下面是我的文本框的按鍵事件的代碼(輸入的產品代碼)
private void txtUrunkod_KeyPress(object sender, KeyPressEventArgs e)
{
foreach (System.Data.DataColumn col in dt.Columns) col.ReadOnly = false;
if (e.KeyChar == (char)Keys.Enter)
{
islemkod = txtUrunkod.Text;
islemkod.Trim();
if (islemkod.Contains('/'))
{
serikodbol = islemkod.Split('/');
urunKodum = serikodbol[0];
DataRow row = dt.Select("urunkodu='" + urunKodum + "'").FirstOrDefault();
int guncelle = Convert.ToInt32(row[3]);
guncelle++;
row[3] = guncelle;
}
else if (islemkod.Length == 8)
{
SqlCommand cmd = new SqlCommand("exec MY_TOPUK_BILGI_GETIR '" + islemkod + "'", conStr);
conStr.Open();
SqlDataReader dr = cmd.ExecuteReader();
uk = new DataTable();
uk.Load(dr);
conStr.Close();
//toplamaGrid.Select(0);
foreach (DataRow row2 in uk.Rows)
{
urunKodum = row2[0].ToString();
}
DataRow row = dt.Select("urunkodu='" + urunKodum + "'").FirstOrDefault();
int guncelle = Convert.ToInt32(row[3]);
guncelle++;
row[3] = guncelle;
int index = -1;
bool found = false;
foreach (DataRow datr in dt.Rows)
{
index++;
string d = datr["urunkodu"].ToString();
if (datr[0].ToString() == urunKodum)
{
found = true;
break;
}
}
if (found && !row[2].Equals(row[3]))
{
toplamaGrid.Select(index);
toplamaGrid.SelectionBackColor = Color.Blue;
}
else if (row[2].Equals(row[3]))
{
toplamaGrid.Select(index);
toplamaGrid.SelectionBackColor = Color.Green;
//toplamaGrid.UnSelect(index);
}
}
else if (islemkod.Length == 7 && islemkod[0] == 'P')
{
}
else//islemkod.Length != 8 && !islemkod.Contains('/')
{//
urunKodum = txtUrunkod.Text;
txtUrunkod.Visible = false;
lblurunkod.Visible = false;
txtifAdres.Visible = true;
lbladressor.Visible = true;
txtifAdres.Focus();
}
updated = true;
txtUrunkod.Text = "";
sonindex = 0;
}
}
我無法找到關於這個很多信息。任何幫助都很重要。謝謝你的幫助!
複製https://stackoverflow.com/questions/408113/changing-row-colors-in-the-compact-framework-datagrid?rq=1。您需要在Paint事件中實現自定義繪圖。 – josef