C# FieldFitString类:将资料表(DataTable)已修改的资料行数据去左右空格、全角转半角

  C# FieldFitString类:将资料表(DataTable)已修改的资料行数据去左右空格、全角转半角

FieldFitString类:将资料表(DataTable)已修改的资料行数据去左右空格、全角转半角



FieldFitString类


C# Code:

using System;
using System.Data;

namespace CSFrameworkV5.Common
{
  
/// <summary>
  
/// 将资料表(DataTable)已修改的资料行数据去左右空格、全角转半角
  
/// </summary>
  
public sealed class FieldFitString
  {
    
    
/// <summary>
    
/// 将资料表中已修改的资料行数据去左右空格、全角转半角
    
/// </summary>
    
/// <param name="dt"></param>
    
public static void FitString(DataTable dt)
    {
      
//仅处理已修改的资料行
      
foreach (DataRow dr in dt.Rows)
      {
        
if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Modified)
        {
          
foreach (DataColumn C in dt.Columns)
          {
            
if (C.DataType == Type.GetType("System.String"))
            dr[C.ColumnName]
= RemoveChar(ConvertEx.ToString(dr[C.ColumnName]));
          }
        }
      }
    }
    
    
/// <summary>
    
/// 将资料表中已修改的资料行数据去左右空格、全角转半角
    
/// </summary>
    
/// <param name="str"></param>
    
/// <returns></returns>
    
public static string RemoveChar(string str)
    {
      
if (String.IsNullOrEmpty(str)) return str;
      
      
try
      {
        
string NewStr = string.Empty;
        
char[] c = str.ToCharArray();
        
for (int i = 0; i < c.Length; i++)
        {
          
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);
          
          
          
if (b.Length == 2)
          {
            
//全角
            
if (b[1] == 255 || b[1] == 48)
            {
              b[
0] = (byte)(b[0] + 32);
              b[
1] = 0;
              NewStr +
= System.Text.Encoding.Unicode.GetChars(b)[0];
            }
            
else
            {
              NewStr +
= c[i];
            }
          }
        }
        
        
return NewStr.Trim();//去左右空格
        

      }
      
catch
      {
        
return str;
      }
    }
    
  }
}


//来源:C/S框架网 | www.csframework.com | QQ:23404761




C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

C# FieldFitString资料(DataTable)修改资料数据左右空格
C#.NET 处理字符串数据左右空格
全角字符转换成字符,函数(DBC case)
CSFramework.dalBaseXXX基_ReplaceString 成员变量用法
C# 自动转换为 (输入法/切换)
C#使用正则表达式替换或去掉标点符号
资料工具(DataTableTools)
C# DataSet和DataTable
C# GridView 资料数据检查使用方法(ValidateRow与InvalidRowException)
C#数据导出到Excel汇总
取LookupEdit组件数据源当前资料某字段
截断字符串或二进制数据。语句终止
C#.Net Summary注释断
使用dalBaseDataDict提交单数据
修改用户资料,保存后密码丢失问题
C# 更新SQL数据发生错误:不能创建大小为 8133 ,该大小大于所允许最大大小 8060。
使用ToolTipController自动提示GridView资料内容
C/S开发框架教程:使用基础资料(数据字典)DAL层更新主从(或多数据
DataTable与Object互相转换及相关函数转换大全(DataConvert)
ORM_TableAttribute详解:资料特性定义