• C# 操作datatable校验重复行,并显示行号


    • 大体思路,在上传后,在datable末尾动态添加一列row_id,然后需要给row_id赋值
           DataColumn idColumn = new DataColumn();
                    idColumn.DataType = System.Type.GetType("System.Int32");//该列的数据类型 
                    idColumn.ColumnName = "row_id ";
                    tableRepeat.Columns.Add(idColumn);
                    if (tableRepeat != null && tableRepeat.Rows.Count > 0)
                    {
                        int line = 3;
                        foreach (DataRow dr in tableRepeat.Rows)
                        {
                            dr[columnCount] = line;
                            line = line + 1;
                        }
                    }
    • 比如查询手机号重复行,根据手机号分组,找出重复>1的行,然后根据手机号查询出行号
           //校验手机号
                var query_mobile = from f in tableParam.AsEnumerable()
                                   group f by f.Field<string>("手机号") into m
                                   where m.Count() > 1
                                   select m.Key;
                if (query_mobile.Any())
                {
                    foreach (var item in query_mobile.ToList())
                    {
                        List<int> query_row = tableParam.AsEnumerable().AsParallel().Where(m => m.Field<string>("手机号") == item.Trim()).Select<DataRow, int>(dr => int.Parse(dr[tableParam.Columns.Count - 1].ToString())).ToList();
                        if (query_row.Any())
                        {
                            var msg = $"第{string.Join("", query_row.Take(5).OrderBy(m => m))}行{(query_row.Count >= 5 ? "等共" + query_row.Count + "" : "")}{ErrorExpandEnum.手机号重复.ToString()},请检查";
                            return msg;
                        }
                    }
                }
  • 相关阅读:
    BZOJ 2434 [NOI2011]阿狸的打字机
    BZOJ 3319 黑白树
    BZOJ 2500 幸福的道路
    BZOJ 3884 上帝与集合的正确用法
    BZOJ 3594[Scoi2014]方伯伯的玉米田
    BZOJ 3038上帝造题的七分钟2
    BZOJ 3887[Usaco2015 Jan]Grass Cownoisseur
    BZOJ 1875[SDOI2009]HH去散步
    看电影
    单峰
  • 原文地址:https://www.cnblogs.com/personblog/p/14600287.html
Copyright © 2020-2023  润新知