关键词搜索

源码搜索 ×
×

C# datatable中重复数据去重

发布2015-09-23浏览24037次

详情内容

  1. #region datatable去重
  2. /// <summary>
  3. /// datatable去重
  4. /// </summary>
  5. /// <param name="dtSource">需要去重的datatable</param>
  6. /// <param name="columnNames">依据哪些列去重</param>
  7. /// <returns></returns>
  8. public static DataTable GetDistinctTable(DataTable dtSource, params string[] columnNames)
  9. {
  10. DataTable distinctTable = dtSource.Clone();
  11. try
  12. {
  13. if (dtSource != null && dtSource.Rows.Count > 0)
  14. {
  15. DataView dv = new DataView(dtSource);
  16. distinctTable = dv.ToTable(true, columnNames);
  17. }
  18. }
  19. catch (Exception ee)
  20. {
  21. MessageBox.Show(ee.ToString());
  22. }
  23. return distinctTable;
  24. }
  25. /// <summary>
  26. /// datatable去重
  27. /// </summary>
  28. /// <param name="dtSource">需要去重的datatable</param>
  29. /// <returns></returns>
  30. public static DataTable GetDistinctTable(DataTable dtSource)
  31. {
  32. DataTable distinctTable = null;
  33. try
  34. {
  35. if (dtSource != null && dtSource.Rows.Count > 0)
  36. {
  37. string[] columnNames = GetTableColumnName(dtSource);
  38. DataView dv = new DataView(dtSource);
  39. distinctTable = dv.ToTable(true, columnNames);
  40. }
  41. }
  42. catch (Exception ee)
  43. {
  44. MessageBox.Show(ee.ToString());
  45. }
  46. return distinctTable;
  47. }
  48. #endregion
  49. #region 获取表中所有列名
  50. public static string[] GetTableColumnName(DataTable dt)
  51. {
  52. string cols = string.Empty;
  53. for (int i = 0; i < dt.Columns.Count; i++)
  54. {
  55. cols += (dt.Columns[i].ColumnName + ",");
  56. }
  57. cols = cols.TrimEnd(',');
  58. return cols.Split(',');
  59. }
  60. #endregion


微软内部实现:点击打开链接


相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载