dataSerVer操作方法总结

2023-05-16

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
using System.Windows.Forms;
using Common.TxtUtilities;
using Atspace.DataInjection;
using System.Text.RegularExpressions;
namespace Atspace.DataInjection.AddFunctionLibrary
{
  public class DataServer
  {
      public DataServer(DataMainForm form)
      { this.form = form; }
      public DataMainForm form;
      #region 数据表成员
      public System.Data.DataTable fixedDataTableForView;//
      #endregion
      #region 函数功能
      public DataTable  GetFixedDataTable(string filePath)//
      {
          DataTable dt;
          if (!File.Exists(filePath))
          {
              MessageBox.Show("指定目录下未找到源文件", "提示", MessageBoxButtons.OK);
              return new DataTable();
          }
          else
          {
              Dictionary<string ,List<string>> vieDic=new Dictionary<string,List<string>>();
              string sourceContent = TxtReader.GetString(filePath);
              vieDic = form.AddParasData(sourceContent);
              Dictionary<string, List<string>> VieDic1 = new Dictionary<string, List<string>>();
              VieDic1.Add("包头1",new List<string>(){"unsigned int","0x1040"});
              VieDic1.Add("包头2", new List<string>() { "unsigned int", "0xc000" });
              Dictionary<string,string> lengthAndSum=form.GetDataLengthAanSum_Add();
              VieDic1.Add("包长",new List<string>(){"unsigned int",lengthAndSum["包长"]});
              VieDic1.Add("累加和", new List<string>() { "unsigned char", lengthAndSum["累加和"] });
              if (lengthAndSum.ContainsKey("填充码"))
              {
                  VieDic1.Add("填充码", new List<string>() { "unsigned char", lengthAndSum["填充码"] });
              }
              Dictionary<string, List<string>> VieDic2 = new Dictionary<string, List<string>>();
              VieDic2.Add("包头1",VieDic1["包头1"]);
              VieDic2.Add("包头2",VieDic1["包头2"]);
              VieDic2.Add("包长", VieDic1["包长"]);
              VieDic2.Add("识别码", new List<string>() { "unsigned int", form.txtMarkNum1.Text.Trim() });
              foreach(var item in vieDic)
              {
                  VieDic2.Add(item.Key,item.Value);
              }
              dt = new DataTable();
              dt.Columns.Add("参数名");
              dt.Columns.Add("参数类型");
              dt.Columns.Add("参数值");
              foreach (var item in VieDic2)
              {
                  dt.Rows.Add(item.Key, item.Value[0], item.Value[1]);
              }
              dt.Rows.Add("累加和", VieDic1["累加和"][0], VieDic1["累加和"][1]);
              if(VieDic1.ContainsKey("填充码"))
              {
                  dt.Rows.Add("填充码", VieDic1["填充码"][0], VieDic1["填充码"][1]);
              }
              return dt;  
          }
     
     
     
     
      }

      #endregion
      public static string DataTableToString(DataTable dt)//获取表字符串
      {
          string dtstring = "";
          for (int i = 0; i < dt.Columns.Count; i++)
          {
              dtstring = dtstring + dt.Columns[i].ColumnName + "\t";
          }
          dtstring = dtstring + "\r\n";
          for (int i = 0; i < dt.Rows.Count; i++)
          {
              for (int j = 0; j < dt.Columns.Count; j++)
              {
                  dtstring = dtstring + dt.Rows[i][j] + "\t";
              }
              dtstring = dtstring + "\r\n";
          }
          return dtstring;
      }
      public static string GetFindStringContentFromDatatable(DataTable dt,string str)//获取指定字符串行
      {
          string content;
        foreach (DataRow dr in dt.Rows)
      {
          if (dr[0].ToString() == str)
          {
              content = dr[0].ToString() + "\t" + dr[1].ToString() + "\t" + dr[2].ToString()+"\t";
              return content;
          }
     
      }
        return null;
     
      }
      public static string GetValueStringOfDataGridView(DataGridView dg)//获取数据表中参数值
      {
          string dataTemp = DataServer.DataTableToString((DataTable)dg.DataSource);
          string slipStr = DataServer.GetFindStringContentFromDatatable((DataTable)dg.DataSource, "识别码");
          string[] sArray = Regex.Split(dataTemp, slipStr, RegexOptions.IgnoreCase);
          slipStr = DataServer.GetFindStringContentFromDatatable((DataTable)dg.DataSource, "累加和");
          sArray = Regex.Split(sArray[1], slipStr, RegexOptions.IgnoreCase);
          return   sArray[0];
     
      }
      public static void  ChangeValueInTheDataGridView(DataGridView  dg,string parameterName,string value)//改变数据表中指定参数值
      {
          DataTable dt = (DataTable)dg.DataSource;
          if (dt == null) return;
          string dtstring = value ;                                                                                 
          for (int i = 0; i < dt.Rows.Count; i++)
          {
              for (int j = 0; j < dt.Columns.Count; j++)
              {
                  if (dt.Rows[i][j].ToString() == parameterName)
                  {
                      dt.Rows[i][2] = value;
                      return;
                  }
              }
           
          }
      }
      public static int  GetIndexWhereUseTheParameter(DataGridView dg, string parameterName)//获得数据表中指定参数名所在的索引
      {
          DataTable dt = (DataTable)dg.DataSource;
          for (int i = 0; i < dt.Rows.Count; i++)
          {
              for (int j = 0; j < dt.Columns.Count; j++)
              {
                  if (dt.Rows[i][j].ToString() == parameterName)
                  {
                     
                      return i;
                  }
              }
          }
          return 0;
      }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dataSerVer操作方法总结 的相关文章

  • c#读取string类型的xml格式的字符串

    string str 61 lt resultInfo code 61 34 202 34 message 61 34 原密码输入不正确 xff01 34 gt XmlDocument xmlDoc 61 new XmlDocument x
  • C# 截取字符串

    本文章已收录于 xff1a str为要进行截取的字符串 start是第一个关键字 字符串 last是第二个关键字 字符串 public string GetContent string str string start string las
  • C#中文件及文件夾的遍历

    操作文件常用的类有 xff1a File 实用类 xff0c 提供许多静态方法 xff0c 用于移动 删除 和复制文件 Directory 实用类 xff0c 提供许多静态方法 xff0c 用于移动 删除和复制目录 Path 实用类 xff
  • C# 简单的XML读取修改写入

    XML概念 Root XML根节点 xff0c 只能且必须有一个 以上为LinkLibrary Element 节点元素 如Link Attribute 节点属性 如Cat Url Desc Content 内容 xff08 非空白文本 C
  • C# XML 添加,修改,删除Xml节点

    添加xml节点 private void AddXml string image string title XmlDocument xmlDoc 61 new XmlDocument xmlDoc Load Server MapPath 3
  • 使用Activator.CreateInstance完善简单工厂

    前几天在项目中看到别人的工厂类使用Activator CreateInstance 之前用简单工厂都是用switch case xff0c 之前没有用过便查了查资料 xff0c 正是这个方法 43 反射简化了工厂模式 xff0c 在需求增加
  • can协议的数据帧格式

    1 帧起始和帧结束 2 仲裁段 xff1a 3 控制段 xff1a 4 数据段 5 CRC段 6 ACK段
  • C#各种配置文件使用,操作方法总结

    配置文件操作 配置文件一般分为内置配置文和用户自定义配置文件 内置配置文件包括app config web config Settings settings等等 用户自定义配置文件一般是将配置信息放到XML文件或注册表中 xff0c 配置信
  • C#中配置文件的使用

    1 向项目添加app config文件 xff1a 右击项目名称 xff0c 选择 添加 添加新建项 xff0c 在出现的 添加新项 对话框中 xff0c 选择 添加应用程序配置文件 xff1b 如果项目以前没有配置文件 xff0c 则默认
  • C# 获取主机IP地址

    public static string GetIP string strAddr 61 34 34 try string strHostName 61 System Net Dns GetHostName System Net IPHos
  • C#中的继承与多态还有接口

    简单继承多态接口参考 简单继承 最简单的三个类 csharp view plain copy print public class Animal public Animal Debug Log 34 Construct Animal 34
  • C#操作配置文件中appSettings,connectionStrings节点

    using System using System Configuration using System Web using System Web Configuration namespace myConfiguration region
  • C# 配置文件读取与修改

    目录 43 旧方法 各位看官最好使用下面新方法新方法 配置文件在很多情况下都使用到 配置文件分为两种 一种是应用程序的配置文件 一种是web的配置文件 两种配置文件最大的区别是web的配置文件更新之后会实时更新 应用程序的配置文件不会实时更
  • AppSettings和ConnectionStrings的区别

    ConfigurationSettings AppSettings 34 34 和 ConfigurationManager ConnectionStrings 34 34 ConnectionStrings有什么区别 xff1f 晕呀 更
  • appsetting 和connectionString 的区别。

    AppSettings是ASP NET1 1时期用的 在 NET Framework 2 0中 xff0c 新增了ConnectionStrings 1 lt connectionStrings gt lt connectionString
  • 配置文件的方式总结

    1 xml文件存储配置信息 xff0c 属性中可设置输出到应用程序输出路径拷贝 xff0c 程序中读写使用 xff0c 程序修改只需修改xml文件然后覆盖到输出路径中 2 AppConfig文件存储 xff0c 可设置属性输出路径 xff0
  • 计算机大端模式和小端模式 内存对齐问题(sizeof)

    目录 43 一大端模式和小端模式的起源二什么是大端和小端三数组在大端小端情况下的存储四为什么会有大小端模式之分呢五如何判断机器的字节序内存对齐问题 再讲讲pragma pack 内存对齐二 一 大端模式和小端模式的起源 关于大端小端名词的由
  • linux虚拟机关机、重启命令

    一 shutdown 1 shutdown h now xff1a 立即关机 2 shutdown h 10 53 xff1a 到10 53关机 3 shutdown h 43 10 xff1a 10分钟后自动关机 4 shutdown r
  • C#函数的重载

    函数名必须相同方能构成函数重载 函数返回值类型 可以相同 也可以不同 注意 函数的返回类型不足以区分两个重载函数 函数参数类型 必须不同 函数参数个数 可以相同 可以不同 函数参数顺序 可以相同 可以不同 csharp view plain

随机推荐

  • 静态方法和实例化方法的本质区别

    本文章已收录于 xff1a 这是一个经常被时时提出来的问题 xff0c 很多时候我们以为理解了 懂了 xff0c 但深究一下 xff0c 我们却发现并不懂 方法是我们每天都在写得 xff0c 很多程序员大多都使用实例化方法 xff0c 而很
  • string,StringBuffer与StringBuilder的区别

    String 字符串常量 StringBuffer 字符串变量 xff08 线程安全 xff09 StringBuilder 字符串变量 xff08 非线程安全 xff09 简要的说 xff0c String 类型和 StringBuffe
  • C# xml文件的创建,修改和添加节点 。

    最近在做一个项目 xff0c 设计到xml文件的传输 xff0c 所以就研究了一下 xff0c NET Framework完全支持XML DOM模式 xff0c 但它不支持SAX模式 NET Framework支持两种不同的分析模式 xff
  • C#自定义ConfigSections节点操作

    sectiongroup 在config文件中加入以下节点 html view plain copy print lt configSections gt lt sectionGroup name 61 34 WebSiteInfo 34
  • 配置文件configSections节点使用实例      。

    configSections为自定义节点 xff0c 增加应用程序可移植性 xff0c 用于配置文件上传路径 xff0c 再深入应用可定义工厂方法需要加载创建的类 1 配置configSections节点 html view plain c
  • C#自定义ConfigSections节 操作 。

    sectiongroup 在config文件中加入以下节点 html view plain copy print lt configSections gt lt sectionGroup name 61 34 WebSiteInfo 34
  • C# 中的回车换行符 表示

    在 C 中 xff0c 我们用字符串 34 r n 34 表示回车换行符 string str 61 34 第一行 r n第二行 34 但是我们更推荐 Environment NewLine xff08 名称空间为 System xff09
  • C# Regex类详解

    using System using System Text RegularExpressions namespace MetarCommonSupport lt summary gt 通过Framwork类库中的Regex类实现了一些特殊
  • C#String.Split (string[], StringSplitOptions) 多参数分割得到数组

    public string Split string separator StringSplitOptions options 参数 separator 类型 xff1a System String 分隔此字符串中的子字符串的字符串数组 不
  • vim选中字符复制/剪切/粘贴

    问题描述 xff1a https www cnblogs com luosongchao p 3193153 html vim 中选中指定字符 xff0c 进行复制 剪切 粘贴 问题解决 xff1a 进入vim中visual模式 xff0c
  • for循环本质

    菜鸟 xff1a 为什么在for循环里重复定义变量不会报错 xff1f 如下代码1 xff0c 因为重复定义了两个变量 a xff0c 编译器报错 void main int a int a return 如下代码2 xff0c 用for循
  • 常见功能类库及功能

    BitConverter 数据转换类 Array 数组类 ComboBox 列表文本框
  • 基础概念笔记

    1 声明和定义的区别 声明 xff1a 是解释内存是什么类型 定义 xff1a 是赋值
  • C#中DataGridView控件使用大全

    c datagridview 分类 xff1a C C xff0b xff0b C DataGridView 动态添加新行 xff1a DataGridView控件在实际应用中非常实用 xff0c 特别需要表格显示数据时 可以静态绑定数据源
  • DataTable转成字符串复制到txt文本的小例子

    自己写了个DataTable转成字符串的方法 复制代码代码如下 public static string DataTableToString DataTable dt string dtstring 61 34 34 for int i 6
  • C#实现字符串按多个字符采用Split方法分割得到数组

    String字符串如何按多个字符采用Split方法进行分割呢 xff1f 本文提供VS2005和VS2003的实现方法 xff0c VS2005可以用下面的方法 xff1a string agentInfo 61 userInfo Attr
  • C#实现 UDP简单广播

    csharp view plain copy print 代码 Code highlighting produced by Actipro CodeHighlighter freeware http www CodeHighlighter
  • 事件委托 EventHandler 。

    事件就是当对象或类状态发生改变时 xff0c 对象或类发出的信息或通知 发出信息的对象或类称为 34 事件源 34 对事件进行处理的方法称为 34 接收者 34 通常事件源在发出状态改变信息时 它并不知道由哪个事件接收者来处理 这就需要一种
  • XML文件转换成字符串互相转换操作

    System Xml XmlDocument doc 61 new System Xml XmlDocument 新建对象 doc Load 34 filePath 34 XML文件路径 string content 61 doc Inne
  • dataSerVer操作方法总结

    using System using System Collections Generic using System Linq using System Text using System Data using System IO usin