var _Items = (gdv_lisResultInfo.GetRow(e.RowHandle) as ViewModel);//获取当行
_Items.ColumnName即是值.
或者
string strFlagValue = gdv_lisResultInfo.GetRowCellValue(e.RowHandle, “ABNORMAL_INDICATOR”).ToString();//获取指定列
其实第一种方式是最简单省事的.
下面是使用第二种方法的一个实例.
//需求: 处理两列数据变色问题
private void gdv_lisResultInfo_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
try
{
if (e.Column.FieldName.Equals("ABNORMAL_INDICATOR"))
{
if (dicFlag.ContainsKey(e.CellValue.ToString()))
{
e.DisplayText = dicFlag[e.CellValue.ToString()];
if (e.DisplayText.Contains("↑"))
{
e.Appearance.ForeColor = System.Drawing.Color.Red;
}
else if (e.DisplayText.Contains("↓"))
{
e.Appearance.ForeColor = System.Drawing.Color.Blue;
}
}
else
{
e.DisplayText = "";
}
}
else if (e.Column.FieldName.Equals("RESULT_UNITS"))
{
// 获取当前行右侧列数值
string strFlagValue = gdv_lisResultInfo.GetRowCellValue(e.RowHandle, "ABNORMAL_INDICATOR").ToString();
if (dicFlag.ContainsKey(strFlagValue))
{
string displayText = dicFlag[strFlagValue];
if (displayText.Contains("↑"))
{
e.Appearance.ForeColor = System.Drawing.Color.Red;
}
else if (displayText.Contains("↓"))
{
e.Appearance.ForeColor = System.Drawing.Color.Blue;
}
}
}
}
catch (Exception err)
{
}
}