/// <summary>
/// 自定义DisplayFormat
/// </summary>
public class MyExamFormat : IFormatProvider, ICustomFormatter
{
private string formatText;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="FormatText">格式文本:示例(0:待提交|1:待审核|2:已完成)</param>
public MyExamFormat(string FormatText)
{
formatText=FormatText;
}
public string ConvertText(int num)
{
string[] arr = formatText.Split('|');
foreach (string str in arr)
{
string[] arrs = str.Split(':');
if (num.ToString() == arrs[0])
{
return arrs[1];
}
}
return num.ToString();
}
public object GetFormat(Type formatType)
{
if (formatType == typeof(ICustomFormatter))
{
return this;
}
else return null;
}
public string Format(string format, object arg, IFormatProvider formatProvider)
{
return ConvertText(int.Parse(arg + ""));
}
}
调用示例:
GridColumn gc = gridView1.Columns.AddField(dr["Field"].ToString());
gc.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
gc.DisplayFormat.Format = new MyExamFormat(dr["DisplayFormat"].ToString());