【发布时间】:2018-03-01 12:06:56
【问题描述】:
我有一个 rad 网格视图,其中包含与库存变动有关的数据。名为列的值将全部作为负数拉出。我想添加格式,以便从数字中删除负数。
我认为条件格式是我想要这样做的方式,我不确定满足条件后我想做什么。
ConditionalFormattingObject obj = new ConditionalFormattingObject("MyCondition", ConditionTypes.StartsWith, "-", "", false);
obj.CellBackColor = Color.SkyBlue;
obj.CellForeColor = Color.Red;
obj.TextAlignment = ContentAlignment.MiddleRight;
this.rgv_orderLines.Columns["Moved so Far"].ConditionalFormattingObjectList.Add(obj);
当满足条件时,上面的代码会将单元格变为蓝色。但是,我不希望这样,我希望删除 '-'。
编辑:以下代码给出了所需的结果,但是,如果没有 try catch,它会在任何不包含值的单元格上崩溃。
private void rgv_orderLines_CellFormatting(object sender, CellFormattingEventArgs e)
{
if (e.CellElement.ColumnInfo.Name == "Moved so Far")
{
try
{
string value = e.CellElement.Value.ToString();
value = value.Replace("-", "");
e.CellElement.Value = value;
}
catch (Exception ex)
{
}
}
}
【问题讨论】:
-
列的类型是什么?是
GridViewDecimalColumn吗? -
该列从 SQL 查询中提取数据,我相信数据是作为字符串提取的。
-
好的,只需检查它周围的
if(e.CellElement.Value != null)而不是try..catch
标签: c# radgridview cell-formatting