C# WinFrom 中如何将txt内容显示到dataGridView

txt内容为固定格式:帐号----密码----备注(用4个“-”分隔)TXT内容如下:baidu----123456----百度帐号hao123----123456---... txt内容为固定格式:帐号----密码----备注(用4个“-”分隔)

TXT内容如下:
baidu----123456----百度帐号
hao123----123456----hao123帐号
duowan----123456----多玩帐号

要求显示在dataGridView效果如下表格

帐号 密码 备注
baidu 123456 baidu帐号
hao123 123456 hao123帐号
duowan 123456 多玩帐号

===============
本人菜鸟,希望高手给出具体代码,最好带上注释。我好学习学习
展开
 我来答
百度网友94f02eb
推荐于2016-04-18 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4376万
展开全部

private void button1_Click(object sender, EventArgs e)

        {

            //建立一个打开文件的对话框

            using (OpenFileDialog dlgText = new OpenFileDialog())

            {

                dlgText.Filter = "文本文件|*.txt";

                if (dlgText.ShowDialog() == DialogResult.OK)

                {

                    //新建一个datatable用于保存读入的数据

                    DataTable dt = new DataTable();

                    //给datatable添加三个列

                    dt.Columns.Add("帐号", typeof(String));

                    dt.Columns.Add("密码", typeof(String));

                    dt.Columns.Add("备注", typeof(String));

                    //读入文件

                    using (StreamReader reader = new StreamReader(dlgText.FileName, Encoding.Default))

                    {

                        //循环读取所有行

                        while (!reader.EndOfStream)

                        {

                            //将每行数据,用-分割成3段

                            string[] data = reader.ReadLine().Replace("----", "-").Split('-');

                            //新建一行,并将读出的数据分段,分别存入3个对应的列中

                            DataRow dr = dt.NewRow();

                            dr[0] = data[0];

                            dr[1] = data[1];

                            dr[2] = data[2];

                            //将这行数据加入到datatable中

                            dt.Rows.Add(dr);

                        }

                    }

                    //将datatable绑定到datagridview上显示结果

                    this.dataGridView1.DataSource = dt;

                }

            }

        }

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alwaysfirst
2009-02-21 · TA获得超过491个赞
知道小有建树答主
回答量:457
采纳率:0%
帮助的人:222万
展开全部
新建一个WINFORM窗体。添加一个BUTTON,一个dataGridView.然后拷贝如下代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
StreamReader read = new StreamReader(@"d:\a.txt", Encoding.Default, false);

//创建一个DATATABLE
DataTable dt = new DataTable();
dt.Columns.Add("网址");
dt.Columns.Add("用户");
dt.Columns.Add("说明");

//循环读取行数,一行一行的读
string line = "";
while ((line = read.ReadLine()) != null)
{
string[] str = line.Split(' '); //使用空格分隔的内容
DataRow dr = dt.NewRow();
// 也可以这样写,但是如果文本后面有空格,会出错 dr.ItemArray =str ;
dr[0] = str[0];
dr[1] = str[1];
dr[2] = str[2];
dt.Rows.Add(dr);
}
this.dataGridView1.DataSource = dt;
}
}
}

经测试通过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友43f772b02
2009-02-21 · TA获得超过1129个赞
知道小有建树答主
回答量:395
采纳率:0%
帮助的人:353万
展开全部
你可以这样做,用字符串数组存储文本框的内容,字符数组c#提供了现成的方法,可以分隔字符(具体哪个方法忘了,哈哈,你可以找找),以你的提问来看的话,用“-”作为分割符号,分割数据源,然后用ADO.NET的方法插入数据库中就可以了哈。

回答不在得分,但愿问题解决。
希望和广大程序人员技术交流~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式