开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5802|回复: 11
收起左侧

[C#求助] 苦学C#中,求一个listView导入、导出txt的源码实例

[复制链接]
结帖率:91% (43/47)
发表于 2014-4-3 16:40:10 | 显示全部楼层 |阅读模式   北京市北京市
10精币
RT,本人苦学C#中,求一个listView导入、导出txt的源码实例。

我找到了好多word的说明,看起来都好乱,不明白,最好谁能给我个现成的实例。当初学易就是看前辈的源码学出来的。

最佳答案

查看完整内容

自己写的,记得给我精币
发表于 2014-4-3 16:40:11 | 显示全部楼层   湖北省十堰市
自己写的,记得给我精币
  1.    public static string ToText(this ListView listView, bool ifExportColumn = false, bool aotoNum = false, char separator = ',')
  2.         {
  3.             StringBuilder sb = new StringBuilder();
  4.             if (ifExportColumn == true)
  5.             {
  6.                 if (listView.CheckBoxes == true) sb.Append("CheckBox,");
  7.                 foreach (ColumnHeader c in listView.Columns)
  8.                 {
  9.                     sb.Append(c.Text + separator);
  10.                 }
  11.                 sb.Remove(sb.Length - 1, 1);
  12.                 sb.Append("\r\n");
  13.             }
  14.             if (listView.Items.Count == 0) return sb.ToString();
  15.             int s = aotoNum ? 1 : 0;
  16.             int j;
  17.             foreach (ListViewItem i in listView.Items)
  18.             {
  19.                 if (listView.CheckBoxes) sb.Append((i.Checked ? "1" : "0") + separator);
  20.                 for (j = s; j <= listView.Columns.Count - 1; j++)
  21.                 {
  22.                     if (j >= i.SubItems.Count)
  23.                         break;
  24.                     sb.Append(i.SubItems[j].Text.Replace("\r\n", "[换行]").Trim() + separator);
  25.                 }
  26.                 sb.Remove(sb.Length - 1, 1);
  27.                 sb.Append("\r\n");
  28.             }
  29.             return sb.ToString().Trim();
  30.         }
  31.         public static void LoadFromText(this ListView listView, string text, bool ifHaveColumn = false, bool ifAutoNum = false, char separator = ',')
  32.         {
  33.             int j;
  34.             var items = new List<ListViewItem>();

  35.             listView.Items.Clear();
  36.             if (ifHaveColumn) text = text.StrCut("\n", "");
  37.             if (text.Trim() == "") return;


  38.             string[] lines = text.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
  39.             if (listView.Columns.Count == 0)
  40.             {
  41.                 foreach(string x in lines[0].Split(separator))
  42.                 {
  43.                     listView.Columns.Add("");
  44.                 }
  45.             }


  46.             int loopIndex = 0;
  47.             foreach (string line in lines)
  48.             {
  49.                 loopIndex += 1;
  50.                 ListViewItem item = new ListViewItem();

  51.                 if (listView.CheckBoxes == true) item.Checked = ConvertHelper.ToBoolean(line.Split(separator)[0]);
  52.                 if (ifAutoNum == true) item.Text = (loopIndex).ToString();

  53.                 for (int x = 0; x <= listView.Columns.Count - 1; x++)
  54.                 {
  55.                     item.SubItems.Add("");
  56.                 }

  57.                 string[] colStrS = line.Split(separator);
  58.                 for (j = 0; j <= listView.Columns.Count - 1; j++)
  59.                 {
  60.                     if (j == 0 & ifAutoNum == true)
  61.                     {
  62.                         continue;
  63.                     }
  64.                     else if (listView.CheckBoxes == true)
  65.                     {
  66.                         if (j + 1 > colStrS.Length - 1)
  67.                             continue;
  68.                         item.SubItems[j].Text = colStrS[j + 1].Trim().Replace("[换行]", "\n");
  69.                     }
  70.                     else if (ifAutoNum == true)
  71.                     {
  72.                         if (j > colStrS.Length)
  73.                             continue;
  74.                         item.SubItems[j].Text = colStrS[j - 1].Trim().Replace("[换行]", "\n");
  75.                     }
  76.                     else
  77.                     {
  78.                         if (j >= colStrS.Length)
  79.                             continue;
  80.                         item.SubItems[j].Text = colStrS[j].Trim().Replace("[换行]", "\n");
  81.                     }
  82.                 }
  83.                 items.Add(item);
  84.             }
  85.             listView.Items.AddRange((ListViewItem[])items.ToArray());
  86.         }
复制代码
回复

使用道具 举报

结帖率:0% (0/4)

签到天数: 1 天

发表于 2014-4-3 19:31:33 | 显示全部楼层   山东省潍坊市
请自行查看附件吧,例子完整。
只就txt格式来导入和导出。

ListView.rar

57.96 KB, 下载次数: 67, 下载积分: 精币 -2 枚

示例代码

回复

使用道具 举报

结帖率:91% (43/47)
 楼主| 发表于 2014-4-4 09:46:25 | 显示全部楼层   北京市北京市
jingyi 发表于 2014-4-3 19:31
请自行查看附件吧,例子完整。
只就txt格式来导入和导出。

学习中,未发现txt的语句
回复

使用道具 举报

结帖率:91% (138/151)
发表于 2014-4-7 19:59:47 | 显示全部楼层   广东省深圳市
我也在接触C#,求共同富裕。Q476649388 呵呵
回复

使用道具 举报

结帖率:0% (0/2)

签到天数: 4 天

发表于 2014-4-19 17:36:34 | 显示全部楼层   四川省成都市



代码都给你注释好了,不懂的自己研究吧,很简单和易语言差不多,请叫我雷锋

Model.rar

42.83 KB, 下载次数: 76, 下载积分: 精币 -2 枚

文本读写listview操作

回复

使用道具 举报

发表于 2015-10-31 17:00:43 | 显示全部楼层   山东省青岛市
文本读写listview操作
回复

使用道具 举报

发表于 2015-11-7 15:25:37 | 显示全部楼层   广东省中山市
本帖为密码帖 ,请输入密码 
回复

使用道具 举报

发表于 2015-11-21 21:21:41 | 显示全部楼层   辽宁省本溪市
还是用dataGridView吧。。
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2016-5-22 16:15:43 | 显示全部楼层   江苏省南京市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表