当前位置:网站首页>DevExpress中针对指定列进行百分比转换
DevExpress中针对指定列进行百分比转换
2022-08-05 05:40:00 【牛奶咖啡13】
一、业务需求
目前使用DevExpress控件开发的项目中,需要对表格(GirdView)的指定列或多列内容进行转为百分比显示(比如:将0.39转为39%以此类推)。
二、需求分析
实现对表格列的内容转为百分比有3种思路:
①直接对指定列的数据进行百分比处理,即(获取到指定列的数据,然后乘以100在添加百分比(%)符号);
②直接使用GridView自带的【DisplayFormat.FormatString】内容进行设置进行百分比显示(P2表示保留小数点后2位的百分比【比如:0.3956转为39.56%】);
③直接给数字后面添加百分比符号(比如:39转为39%)
三、实现方法
这里以使用GridView自带的【DisplayFormat.FormatString】内容进行设置进行百分比显示和直接给数字后面添加百分比符号(比如:39转为39%)进行实现说明:
3.1、必须先将需要转为百分比的列值转为数字格式
注意:转换格式方法必须在dataTable数据附值前
//设置列数据类型为double
dt.Columns[列名称].DataType = typeof(数据类型);
//比如:设置线宽数据类型为double
dt.Columns["TRIAL_LINEWIDTH"].DataType = typeof(double);
3.2、转换指定列或多列为百分比的代码
/// <summary>
/// 设置表格所有单元格都保留2位小数
/// </summary>
/// <param name="gridView">gridView组件</param>
public static void ResreserveTwoBit(GridView gridView)
{
if (gridView != null && gridView.Columns.Count > 0)
{
int count = gridView.Columns.Count;
for (int i = 0; i < count; i++)
{
gridView.Columns[i].DisplayFormat.FormatType = FormatType.Numeric;
gridView.Columns[i].DisplayFormat.FormatString = "F2";
}
}
}
/// <summary>
/// 设置表格指定单元格都保留2位小数
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="startColumnIndex">开始列索引</param>
/// <param name="endColumnIndex">结束列索引</param>
public static void ResreserveTwoBit(GridView gridView, int startColumnIndex, int endColumnIndex)
{
if (gridView != null && gridView.Columns.Count > 0 &&
startColumnIndex > 0 && endColumnIndex > 0 &&
endColumnIndex <= gridView.Columns.Count)
{
//int count = gridView.Columns.Count;
for (int i = startColumnIndex; i <= endColumnIndex; i++)
{
gridView.Columns[i].DisplayFormat.FormatType = FormatType.Numeric;
gridView.Columns[i].DisplayFormat.FormatString = "F2";
}
}
}
/// <summary>
/// 设置表格指定单元格都保留2位小数
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="startColumnIndex">开始列索引</param>
/// <param name="endColumnIndex">结束列索引</param>
public static void ResreserveTwoBit(GridView gridView, string columnName)
{
if (gridView != null && gridView.Columns.Count > 0 && !string.IsNullOrEmpty(columnName))
{
gridView.Columns[columnName].DisplayFormat.FormatType = FormatType.Numeric;
gridView.Columns[columnName].DisplayFormat.FormatString = "F2";
}
}
/// <summary>
/// 设置表格指定单元格都使用百分比
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="startColumnIndex">开始列索引</param>
/// <param name="endColumnIndex">结束列索引</param>
public static void SetPercentage(GridView gridView, int startColumnIndex, int endColumnIndex)
{
if (gridView != null && gridView.Columns.Count > 0 &&
startColumnIndex > 0 && endColumnIndex > 0 &&
endColumnIndex <= gridView.Columns.Count)
{
//int count = gridView.Columns.Count;
for (int i = startColumnIndex; i <= endColumnIndex; i++)
{
gridView.Columns[i].DisplayFormat.FormatType = FormatType.Numeric;
gridView.Columns[i].DisplayFormat.FormatString = "P2";
}
}
}
/// <summary>
/// 设置表格指定单元格都使用百分比
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="columnName">列名称</param>
public static void SetPercentage(GridView gridView, string columnName)
{
if (gridView != null && gridView.Columns.Count > 0 && !string.IsNullOrEmpty(columnName))
{
gridView.Columns[columnName].DisplayFormat.FormatType= FormatType.Numeric;
gridView.Columns[columnName].DisplayFormat.FormatString = "P2";
}
}
/// <summary>
/// 设置表格指定单元格都使用百分比
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="columnName">列名称</param>
/// <param name="keepDecimalPlaces">保留的小数位数(默认保留2位)</param>
public static void SetPercentage(GridView gridView, string columnName,string keepDecimalPlaces="P2")
{
if (gridView != null && gridView.Columns.Count > 0 && !string.IsNullOrEmpty(columnName) && !string.IsNullOrEmpty(keepDecimalPlaces))
{
gridView.Columns[columnName].DisplayFormat.FormatType = FormatType.Numeric;
gridView.Columns[columnName].DisplayFormat.FormatString = keepDecimalPlaces;
}
}
/// <summary>
/// 给表格指定单元格都保留2位小数后添加%号
/// </summary>
/// <param name="gridView"></param>
/// <param name="startColumnIndex"></param>
/// <param name="endColumnIndex"></param>
public static void SetResreserveTwoBitAndPercentageChar(GridView gridView, int startColumnIndex, int endColumnIndex)
{
if (gridView != null && gridView.Columns.Count > 0 &&
startColumnIndex > 0 && endColumnIndex > 0 &&
endColumnIndex <= gridView.Columns.Count)
{
for (int i = startColumnIndex; i <= endColumnIndex; i++)
{
gridView.Columns[i].DisplayFormat.FormatType = FormatType.Numeric;
gridView.Columns[i].DisplayFormat.FormatString = $"{0:N2}'%'";
}
}
}
/// <summary>
/// 给表格指定单元格都保留2位小数后添加%号
/// </summary>
/// <param name="gridView"></param>
/// <param name="columnName">列名称</param>
public static void SetResreserveTwoBitAndPercentageChar(GridView gridView, string columnName)
{
if (gridView != null && gridView.Columns.Count > 0 && !string.IsNullOrEmpty(columnName))
{
gridView.Columns[columnName].DisplayFormat.FormatType = FormatType.Numeric;
gridView.Columns[columnName].DisplayFormat.FormatString = $"{0:N2}'%'";
}
}
/// <summary>
/// 给表格指定单元格都添加%符号,不做运算
/// </summary>
/// <param name="gridView"></param>
/// <param name="columnName"></param>
public static void SetPercentageChar(GridView gridView, string columnName)
{
if (gridView != null && gridView.Columns.Count > 0 && !string.IsNullOrEmpty(columnName))
{
gridView.Columns[columnName].DisplayFormat.FormatType = FormatType.Numeric;
gridView.Columns[columnName].DisplayFormat.FormatString = $"{0}'%'";
}
}
边栏推荐
猜你喜欢
随机推荐
NACOS Configuration Center Settings Profile
单片机原理与应用复习
盒子模型小练习
网络排错基础-学习笔记
LaTeX image captioning text column automatic line wrapping
Network Troubleshooting Basics - Study Notes
Media query, rem mobile terminal adaptation
Collision, character controller, Cloth components (cloth), joints in the Unity physics engine
白鹭egret添加新页面教程,如何添加新页面
超简单的白鹭egret项目添加图片详细教程
八大排序之快速排序
指针常量与常量指针 巧记
Jenkins详细配置
txt文件英语单词词频统计
docker部署完mysql无法连接
图像处理、分析与机器视觉一书纠错笔记
Native JS takes you to understand the implementation and use of array methods
uniapp打包次数限制怎么办?只需两步就能解决
UI刘海屏适配方式
LaTeX 图片加标题 文本分栏自动换行