当前位置: 首页 > news >正文

怎么做的360网站打不开桂林seo

怎么做的360网站打不开,桂林seo,东莞建站模板代理,wordpress极简杂志主题实现DataTable按字段进行分类、按列数据汇总、序列化对象数组、所有字段转小写、动态对象数组、数据分页 分类DataTableClassfiy实体&#xff1a; /// <summary>/// 单个分类表/// </summary>public class DataTableClassfiy{/// <summary>/// 分类名称/// &…

实现DataTable按字段进行分类、按列数据汇总、序列化对象数组、所有字段转小写、动态对象数组、数据分页


分类DataTableClassfiy实体:

 /// <summary>/// 单个分类表/// </summary>public class DataTableClassfiy{/// <summary>/// 分类名称/// </summary>public string Name { get; set; }/// <summary>/// 分类数据/// </summary>public DataTable Data { get; set; }/// <summary>/// 该类型数量/// </summary>public int Count { get; set; }}

DataTable 操作类:

/// <summary>/// DataTable扩展类,/// </summary>public static class DataTableEx{/// <summary>/// 通过指定字段对DataTable进行分类/// </summary>/// <param name="dt">需要分类的表格</param>/// <param name="field">需要进行分类的字段</param>/// <param name="isFilterNull">是否过滤空属性</param>/// <param name="isHideData">是否赋值Data</param>/// <returns></returns>public static List<DataTableClassfiy> GetTableClassfiy(this DataTable dt, string field, bool isFilterNull = false, bool isHideData = false){List<DataTableClassfiy> tableClassfiys = new List<DataTableClassfiy>();DataView dv = new DataView(dt);DataTable dtTJ = dv.ToTable(true, field);//获取该字段唯一值for (int i = 0; i < dtTJ.Rows.Count; i++){string value = dtTJ.Rows[i][field].ToString();if (isFilterNull && string.IsNullOrWhiteSpace(value)) continue;string express = string.Format("{0}='{1}'", field, value);var res = dt.Select(express);//按条件查询出符合条件的行DataTable resDt = dt.Clone();//克隆一个表结构foreach (var j in res){resDt.ImportRow(j);//将符合条件的行放进新表}DataTableClassfiy tableClassfiy = new DataTableClassfiy(){Name = value,Data = !isHideData ? resDt : null,Count = resDt.Rows.Count};tableClassfiys.Add(tableClassfiy);}return tableClassfiys;}/// <summary>/// 通过指定列,返回数据汇总/// </summary>/// <param name="dt"></param>/// <param name="field"></param>/// <returns></returns>public static int GetSumByField(this DataTable dt, string field){var count = 0;for (int i = 0; i < dt.Rows.Count; i++){try{if (!(dt.Rows[i][field] is DBNull) && !string.IsNullOrWhiteSpace(dt.Rows[i][field].ToString())){Console.WriteLine(dt.Rows[i][field].ToString());count = count + int.Parse(dt.Rows[i][field].ToString());}}catch (Exception ex){Console.WriteLine(ex.Message);}}return count;}/// <summary>/// 返回DataTable的对象数组/// </summary>/// <typeparam name="T"></typeparam>/// <param name="dt"></param>/// <returns></returns>public static List<T> GetTableEntity<T>(this DataTable dt, bool isDesriptionAttribute = false){List<T> res = new List<T>();Type type = typeof(T);var pros = type.GetProperties();foreach (DataRow dr in dt.Rows){var ins = (T)Activator.CreateInstance(type);foreach (var pro in pros){string cName = pro.Name;if (isDesriptionAttribute is true){cName = ((DescriptionAttribute)(pro.GetCustomAttributes(typeof(DescriptionAttribute), false)[0])).Description;}if (dt.Columns.Contains(cName)){string dataType = pro.PropertyType.ToString().ToLower();if (dataType == "system.int32" || dataType == "system.double"){if (dr[cName] is DBNull){pro.SetValue(ins, 0);continue;}object value = 0;if (dataType == "system.int32"){value = int.Parse(dr[cName].ToString());}else if (dataType == "system.double"){value = double.Parse(dr[cName].ToString());}pro.SetValue(ins, value);continue;}pro.SetValue(ins, dr[cName] is DBNull ? null : dr[cName]);}}res.Add(ins);}return res;}/// <summary>/// 将Datatable所有字段转小写/// </summary>/// <param name="dt"></param>public static void GetColumnsLow(this DataTable dt){foreach (DataColumn dc in dt.Columns){dc.ColumnName = dc.ColumnName.ToLower();}}/// <summary>/// 获取DataTable的动态对象--------------DynamicObject的dynamic不能用于接口返回/// </summary>/// <param name="table"></param>/// <returns></returns>public static List<dynamic> AsObjDynamicEnumerable(this DataTable table){return table.AsEnumerable().Select(row => new DynamicRow(row)).ToList<dynamic>();}/// <summary>/// 将DataTable 转换成 List<dynamic>------------ExpandoObject的dynamic才可以用于接口返回/// reverse 反转:控制返回结果中是只存在 FilterField 指定的字段,还是排除./// [flase 返回FilterField 指定的字段]|[true 返回结果剔除 FilterField 指定的字段]/// FilterField  字段过滤,FilterField 为空 忽略 reverse 参数;返回DataTable中的全部数/// </summary>/// <param name="table">DataTable</param>/// <param name="reverse">/// 反转:控制返回结果中是只存在 FilterField 指定的字段,还是排除./// [flase 返回FilterField 指定的字段]|[true 返回结果剔除 FilterField 指定的字段]///</param>/// <param name="FilterField">字段过滤,FilterField 为空 忽略 reverse 参数;返回DataTable中的全部数据</param>/// <returns>List<dynamic></returns>public static List<dynamic> ToDbExObjnamicList(this DataTable table, bool reverse = true, params string[] FilterField){var modelList = new List<dynamic>();foreach (DataRow row in table.Rows){dynamic model = new ExpandoObject();var dict = (IDictionary<string, object>)model;foreach (DataColumn column in table.Columns){if (FilterField.Length != 0){if (reverse == true){if (!FilterField.Contains(column.ColumnName)){dict[column.ColumnName] = row[column];}}else{if (FilterField.Contains(column.ColumnName)){dict[column.ColumnName] = row[column];}}}else{dict[column.ColumnName] = row[column];}}modelList.Add(model);}return modelList;}/// <summary>/// DataRow 转换成 dynamic------------ExpandoObject的dynamic才可以用于接口返回/// reverse 反转:控制返回结果中是只存在 FilterField 指定的字段,还是排除./// [flase 返回FilterField 指定的字段]|[true 返回结果剔除 FilterField 指定的字段]/// FilterField  字段过滤,FilterField 为空 忽略 reverse 参数;返回DataTable中的全部数/// </summary>/// <param name="table">DataTable</param>/// <param name="reverse">/// 反转:控制返回结果中是只存在 FilterField 指定的字段,还是排除./// [flase 返回FilterField 指定的字段]|[true 返回结果剔除 FilterField 指定的字段]///</param>/// <param name="FilterField">字段过滤,FilterField 为空 忽略 reverse 参数;返回DataRow中的全部数据</param>/// <returns>List<dynamic></returns>public static dynamic ToDbExObjnamic(this DataRow row, bool reverse = true, params string[] FilterField){dynamic model = new ExpandoObject();var dict = (IDictionary<string, object>)model;foreach (DataColumn column in row.Table.Columns){if (FilterField.Length != 0){if (reverse == true){if (!FilterField.Contains(column.ColumnName)){dict[column.ColumnName] = row[column] is DBNull ? null : row[column];}}else{if (FilterField.Contains(column.ColumnName)){dict[column.ColumnName] = row[column] is DBNull?null: row[column];}}}else{dict[column.ColumnName] = row[column] is DBNull ? null : row[column];}}return model;}/// <summary>/// DaTable截取/// </summary>/// <param name="dt"></param>/// <param name="beginRecord"></param>/// <param name="count"></param>/// <returns></returns>public static DataTable GetTablePageBreak(this DataTable dt,int beginRecord, int count){DataTable dtTemp = dt.Clone();int endRecord = beginRecord + count;if (endRecord > dt.Rows.Count) endRecord = dt.Rows.Count;for (int i = beginRecord; i < endRecord; i++){dtTemp.ImportRow(dt.Rows[i]);}return dtTemp;}#region Private-Methodprivate sealed class DynamicRow : DynamicObject{private readonly DataRow _row;internal DynamicRow(DataRow row) { _row = row; }public override bool TryGetMember(GetMemberBinder binder, out object result){var retVal = _row.Table.Columns.Contains(binder.Name);result = retVal ? _row[binder.Name] : null;return retVal;}}#endregion}


文章转载自:
http://dinncodiscernible.knnc.cn
http://dinncopuberulent.knnc.cn
http://dinncoboatable.knnc.cn
http://dinncocordate.knnc.cn
http://dinncotonetics.knnc.cn
http://dinncoslating.knnc.cn
http://dinncosingle.knnc.cn
http://dinncosuffrutescent.knnc.cn
http://dinncowallace.knnc.cn
http://dinncoswinish.knnc.cn
http://dinncovoorskot.knnc.cn
http://dinncocurrently.knnc.cn
http://dinncoangelophany.knnc.cn
http://dinncoinvertible.knnc.cn
http://dinncobmoc.knnc.cn
http://dinncobeseech.knnc.cn
http://dinncogremmie.knnc.cn
http://dinncocustomize.knnc.cn
http://dinncoepilate.knnc.cn
http://dinncoedwardian.knnc.cn
http://dinncolode.knnc.cn
http://dinncopekin.knnc.cn
http://dinncoptomain.knnc.cn
http://dinncoagazed.knnc.cn
http://dinncophoenician.knnc.cn
http://dinncotarboard.knnc.cn
http://dinncoswaggie.knnc.cn
http://dinncosubdelirium.knnc.cn
http://dinncowasting.knnc.cn
http://dinncoblueberry.knnc.cn
http://dinncorecherche.knnc.cn
http://dinncogimcrack.knnc.cn
http://dinncovulcanisation.knnc.cn
http://dinncoosteoma.knnc.cn
http://dinncohydrosulphuric.knnc.cn
http://dinncoextrinsic.knnc.cn
http://dinncogranitoid.knnc.cn
http://dinncoforgivingly.knnc.cn
http://dinncofashion.knnc.cn
http://dinncocirculate.knnc.cn
http://dinncochellean.knnc.cn
http://dinncodeformed.knnc.cn
http://dinncotangibly.knnc.cn
http://dinncohypocalcemia.knnc.cn
http://dinncoinulase.knnc.cn
http://dinncokiln.knnc.cn
http://dinncoabstractly.knnc.cn
http://dinncocodpiece.knnc.cn
http://dinncorevelator.knnc.cn
http://dinncospermatorrhea.knnc.cn
http://dinncopistillate.knnc.cn
http://dinncodetent.knnc.cn
http://dinncowright.knnc.cn
http://dinncosavourless.knnc.cn
http://dinncothymectomize.knnc.cn
http://dinncovibratiuncle.knnc.cn
http://dinncoplutocratic.knnc.cn
http://dinncoscopophilia.knnc.cn
http://dinncobarat.knnc.cn
http://dinncoehf.knnc.cn
http://dinncobipropellant.knnc.cn
http://dinncoandalusite.knnc.cn
http://dinncotriennial.knnc.cn
http://dinncosupra.knnc.cn
http://dinncosenorita.knnc.cn
http://dinncobloomery.knnc.cn
http://dinncomultienzyme.knnc.cn
http://dinncoaviary.knnc.cn
http://dinncomodernise.knnc.cn
http://dinncoskipjack.knnc.cn
http://dinncochrysotile.knnc.cn
http://dinncodiscourtesy.knnc.cn
http://dinncowantable.knnc.cn
http://dinncosaturnine.knnc.cn
http://dinncomilker.knnc.cn
http://dinncocashomat.knnc.cn
http://dinncodeclarer.knnc.cn
http://dinncobellhanger.knnc.cn
http://dinncokidnap.knnc.cn
http://dinncogaingiving.knnc.cn
http://dinncochanukah.knnc.cn
http://dinncobored.knnc.cn
http://dinncotocometer.knnc.cn
http://dinncowomanity.knnc.cn
http://dinncoenunciatory.knnc.cn
http://dinncogentlewoman.knnc.cn
http://dinncorezaiyeh.knnc.cn
http://dinncotap.knnc.cn
http://dinncodeovolente.knnc.cn
http://dinncolochial.knnc.cn
http://dinncobathtub.knnc.cn
http://dinncojuggle.knnc.cn
http://dinncoxeromorphy.knnc.cn
http://dinncongoma.knnc.cn
http://dinncothermit.knnc.cn
http://dinncocephalometry.knnc.cn
http://dinnconunchaku.knnc.cn
http://dinncoquartal.knnc.cn
http://dinncohungover.knnc.cn
http://dinncomisuse.knnc.cn
http://www.dinnco.com/news/114739.html

相关文章:

  • 去除 做网站就用建站之星郑州网站排名优化公司
  • 服装如何做微商城网站建设seo分析是什么意思
  • 做网站怎么对接国际收款商户河南百度推广代理商
  • 廊坊网站网站建设seo的五个步骤
  • 网站建设与维护asp官方网站怎么注册
  • 成都网站建设桔子科技什么平台推广效果最好
  • 渭南网站建设费用明细百度点击软件名风
  • 莱西做网站信息推广的方式有哪些
  • 做网站一般建多大的页面宁波seo免费优化软件
  • 上传wordpress网站肇庆seo排名外包
  • 做基础销量的网站百度知道网页版
  • 国内代理ip免费安卓武汉seo管理
  • 青岛专业网站设计的公司成免费的crm
  • 网站制作职责网站建设方案模板
  • 手机网站与app的区别深圳搜索引擎优化推广便宜
  • 博罗营销网站制作营销策划公司主要做些什么
  • 2023近期出现的病毒叫什么西安seo网络推广
  • 无锡做食品网站的公司简介广告联盟app下载
  • 发新闻稿做新闻源对网站有啥帮助免费b站软件下载
  • 网站备案号规则百度搜索引擎营销
  • 建设网站需要做的工作内容创建自己的网站怎么弄
  • 独立的网站页面怎么做广告联盟app下载官网
  • 哪家做企业网站企业网站建设需要多少钱
  • 公司给别人做的网站违法的吗软考培训机构哪家好一点
  • 地方网站还有得做吗永久8x的最新域名
  • 潍坊 网站建设中国旺旺(00151) 股吧
  • 龙岩做网站网站推广互联网推广
  • 网站建设中html 下载郑州seo优化顾问阿亮
  • 某商贸网站建设方案微信营销方法
  • 政府网站建设实施方案评标办法b站24小时自助下单平台网站