就一功能,沒什麼別的意思,就是記錄着我用DX的一些困難信息集合:
只接上代碼,
//改變行的效果
private void gridView2_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
{
DevExpress.Utils.AppearanceDefault appNotPass1 = new DevExpress.Utils.AppearanceDefault(Color.Black, Color.Salmon, Color.Empty, Color.SeaShell, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
DevExpress.Utils.AppearanceDefault appNotPass2 = new DevExpress.Utils.AppearanceDefault(Color.Black, Color.Yellow, Color.Empty, Color.SeaShell, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
DataRow dr = gridView2.GetDataRow(e.RowHandle);
if (dr != null)
{
if (dr["sex"].ToString() == "女" && dr["birthday1"].ToString().Trim() == "55")
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, appNotPass2);
else if (dr["sex"].ToString() == "男" && dr["birthday1"].ToString().Trim() == "60")
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, appNotPass1);
}
}
//改變單元格的應用
private void gridView2_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
DevExpress.Utils.AppearanceDefault appNotPass1 = new DevExpress.Utils.AppearanceDefault(Color.Black, Color.Salmon, Color.Empty, Color.SeaShell, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
DevExpress.Utils.AppearanceDefault appNotPass2 = new DevExpress.Utils.AppearanceDefault(Color.Black, Color.Yellow, Color.Empty, Color.SeaShell, System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
if (e.Column.FieldName == "sex")
{
DataRow dr = gridView2.GetDataRow(e.RowHandle);
string strTemp = dr[e.Column.FieldName].ToString().Trim();
if (!string.IsNullOrEmpty(strTemp))
{
switch (strTemp)
{
case "男":
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, appNotPass1);
break;
case "女":
DevExpress.Utils.AppearanceHelper.Apply(e.Appearance, appNotPass2);
break;
}
}
}
}
分別激發是這兩個事件:
RowStyle
RowCellStyle
處理上有小點變化,根據需求然後變化.
DX 官方也有說明
url
http://documentation.devexpress.com/#WindowsForms/CustomDocument758