首页 > 解决方案 > 如何在运行时更改gridview的列格式类型和格式字符串?

问题描述

如果用户没有授权,我想用特殊字符而不是数字显示价格。

我可以在下面的代码块中更改格式类型和格式字符串,但是当我尝试获取已更改列的格式字符串时。colPRICE.DisplayFormat.GetFormatString()等于{0}{0}只接受一个数值。我怎样才能南瓜{0}

 colPRICE.DisplayFormat.FormatType = FormatType.Custom;
 colPRICE.DisplayFormat.FormatString = "";
 var formatStringPrice = colPRICE.DisplayFormat.GetFormatString();

 for (int i = 0; i < gridView1.RowCount; i++)
 {
     gridView1.SetRowCellValue(i, "PRICE", "****");
 }

标签: c#winformsdevexpress

解决方案


我将保留格式并处理 GridView 的 CustomDrawCell 事件。

像这样的东西:

private void gridView1_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e) 
{
   if (!DoesUserHaveAuth())
   {
     e.DisplayText = "******";
   }
}


推荐阅读