[英]Changing Row Back Color on DevExpress GridView on condition
我有兩個網格視圖和一個按鈕單擊按鈕我將數據從 gridView1 復制到 gridView2 這是我的代碼:
private async void btnAdd_Click(object sender, EventArgs e)
{
int[] selectedRows = gridView1.GetSelectedRows();
for (int i = 0; i < selectedRows.Length; i++)
{
DataRow rowGridView1 = (gridView1.GetRow(selectedRows[i]) as DataRowView).Row;
for (int j = 0; j < gridView3.RowCount; j++)
{
if (rowGridView1["BS"].ToString() == gridView3.GetRowCellValue(j, "ProjectN").ToString() &&
rowGridView1["Repère"].ToString() == gridView3.GetRowCellValue(j, "Parts").ToString())
{
DataRow row = dt.NewRow();
row[0] = rowGridView1["BS"];
row[1] = gridView3.GetRowCellValue(j, "Parts");
row[2] = gridView3.GetRowCellValue(j, "Profile");
row[3] = rowGridView1["Quantité"];
dt.Rows.Add(row);
}
else if(j == (gridView3.RowCount -1))
{
gridView1.RowStyle += (senderr, ee) => {
if (gridView1.GetFocusedDataRow() == rowGridView1)
{
ee.Appearance.BackColor = Color.Red;
ee.HighPriority = true;
}
};
}
}
}
我想更改與條件不匹配的 gridView1 行的背景顏色,以便驗證它們
不幸的是,所有行都變成紅色。
我該如何解決這個問題。
提前致謝
這里代碼修改,它是用記事本完成的,它仍然是測試。
首先gridview1的背景顏色必須根據“BS”和“repère”的值改變,這在RowStyle function中完成。
private void gridView1_RowStyle(object sender, RowStyleEventArgs e) {
If (e.RowHandle = this.gridView1.FocusedRowHandle)
{
string strBS = gridView1.GetRowCellValue(row, "BS");
string strRepere = gridView1.GetRowCellValue(row, "Repère");
if (SearchRow(strBS,strRepere)==true)
{
e.Appearance.BackColor = Color.Red
e.HighPriority = True
}
}
}
private bool SearchRow(string strBS, string strRepere) {
bool RowExist=false;
for (int j = 0; j < gridView3.RowCount; j++)
{
if (gridView3.GetRowCellValue(j, "ProjectN").ToString() ==strBS &&
gridView3.GetRowCellValue(j, "Parts").ToString()==strRepere)
{
RowExist=true;
Break;
}
}
return RowExist;
}
將 gridview1 行添加到 gridview3
private async void btnAdd_Click(object sender, EventArgs e)
{
int[] selectedRows = gridView1.GetSelectedRows();
for (int i = 0; i < selectedRows.Length; i++)
{
DataRow rowGridView1 = (gridView1.GetRow(selectedRows[i]) as DataRowView).Row;
for (int j = 0; j < gridView3.RowCount; j++)
{
if (rowGridView1["BS"].ToString() == gridView3.GetRowCellValue(j, "ProjectN").ToString() &&
rowGridView1["Repère"].ToString() == gridView3.GetRowCellValue(j, "Parts").ToString())
{
DataRow row = dt.NewRow();
row[0] = rowGridView1["BS"];
row[1] = gridView3.GetRowCellValue(j, "Parts");
row[2] = gridView3.GetRowCellValue(j, "Profile");
row[3] = rowGridView1["Quantité"];
dt.Rows.Add(row);
dt.AcceptChanges();
}
}
}
gridView1.Datasource=dt;
grid.DataBind();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.