当前位置:网站首页>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}'%'";
}
}
边栏推荐
猜你喜欢
Met with the browser page
The 25 best free games on mobile in 2020
Q 2020, the latest senior interview Laya soul, do you know?
scikit-image image processing notes
Email management Filter emails
Teach you simple steps to achieve industrial raspberries pie properly installed RS232 USB drive
图像处理、分析与机器视觉一书纠错笔记
LaTeX使用frame制作PPT图片没有标号
Successful indie developers deal with failure & imposters
自营商城提高用户留存小技巧,商城对接小游戏分享
随机推荐
config.js related configuration summary
LaTeX 图片加标题 文本分栏自动换行
MyCat配置文件
边缘盒子+时序数据库,美的数字化平台 iBUILDING 背后的技术选型
Nacos配置服务的源码解析(全)
vs2017关于函数命名方面的注意事项
Native JS takes you to understand the implementation and use of array methods
LeetCode练习及自己理解记录(1)
vscode notes
HelloWorld
Chengyun Technology was invited to attend the 2022 Alibaba Cloud Partner Conference and won the "Gathering Strength and Going Far" Award
docker部署完mysql无法连接
MyCat安装
Shadowless Cloud Desktop
## 简讲protobuf-从原理到使用
格式化代码缩进的小技巧
Linux中安装Redis教程
Tencent Internal Technology: Evolution of Server Architecture of "The Legend of Xuanyuan"
Error correction notes for the book Image Processing, Analysis and Machine Vision
字体样式及其分类