文本文件的内容是
2008-1-1 
100
详细信息有很多行
详细信息有很多行
详细信息有很多行2008-1-2
200
详细信息2详细信息2详细信息2
详细信息2
2008-1-3
400
详细信息3详细信息3详细信息3详细信息3详细信息3
详细信息3
详细信息3详细信息3我想把他绑定到gridview 上 
时间             数量                         详细信息 
2008-1-1       100                        详细信息有很多行
                                                详细信息有很多行
                                                详细信息有很多行格式就如上面看到?请问应该如何实现?谢谢

解决方案 »

  1.   

    using(System.IO.StreamReader sr = new System.IO.StreamReader(File.OpenRead(FilePath),System.Text.Encoding.GetEncoding("gb2312")))
      

  2.   

    一个gridView里面嵌套另一个gridView.在大的gridView的绑定事件里面绑定里面的gridView.根据数据时间分组
      

  3.   


    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.IO;
    using System.Collections.Generic;public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            StreamReader sr = new StreamReader(Server.MapPath("a.txt"));
            ReadStatus readstate = ReadStatus.Date;
            List<MyClass> list = new List<MyClass>();
            MyClass tmp=null ;
            while (!sr.EndOfStream)
            {
                string line = sr.ReadLine();
                Response.Write(line);
                if (line.Trim() == "") continue;
                switch (readstate)
                { 
                    case ReadStatus.Date:
                        try
                        {
                            DateTime date= DateTime.Parse(line);
                            if (tmp != null)
                                list.Add(tmp);
                            tmp = new MyClass();
                            tmp.Date = date;
                            readstate = ReadStatus.Number;
                        }
                        catch
                        {
                            tmp.Content += (tmp.Content == "" ? "" : "\n") + line;
                        }
                        break;
                    case ReadStatus.Number:
                        try
                        {
                            int num = int.Parse(line);
                            tmp.Num = num;
                            readstate = ReadStatus.Date;
                        }
                        catch
                        { }
                        break;
                }
            }
            if (tmp != null)
                list.Add(tmp);
            sr.Close();
            sr.Dispose();
            this.GridView1.DataSource = list;
            GridView1.DataBind();
        }
        public enum ReadStatus
        { 
            Date,Number
        }
        public class MyClass
        {
            private DateTime date;
            private int num;
            private string content="";
            public DateTime Date
            {
                get { return date; }
                set { date = value; }
            }
            public int Num
            {
                set { num = value; }
                get { return num; }
            }
            public string Content
            {
                get { return content; }
                set { content = value; }
            }    }
    }