这是昨天的帖子 数据已经读取出来  先感谢下【无机战士】和【JustACoder】两位大侠 的帮助
http://topic.csdn.net/u/20110726/22/7a7231da-a061-4cf0-8755-4185f985e753.html
http://topic.csdn.net/u/20110726/22/17db3c8e-117c-4c09-b489-81a1f8f30508.html
读取代码如下: string[] sa = File.ReadAllLines(WjNmae);//WjNmae路径
                foreach (string value in sa)
                {
                    string rs = value.Split(' ', '\t')[0];
                    string[] result = rs.Split(',');
                    foreach (string r in result)
                        Response.Write(r + " ");
                    Response.Write("<br/>");
                }文本格式如下:
1, 0
2, 12312,321312
3, 321321,32323
4, 4343,434334
.....
15,2323,23232
 从1一直到15行 
    现在需求是要将序号后面的值显示在 页面中的不同的label控件中  除了序号外基本没个值都要显示在对应的label中  如第一行 值是0  那么label中也要显示0
    第二行 值是12312和321312,那么要分别显示在label1和label2上 
下面的衣次类推   小弟技技术有限 在上面的代码中 硬是不知道怎么分别显示出来!  求解!

解决方案 »

  1.   

    能取出每一行的数据吗?
    如果能取出来就用
    split分割 然后遍历分割后的数组 new label 给他赋值。
      

  2.   

    看上面的代码! 
      但是 我是怎么按前面的序号来依次给label赋值啊?string[] sa = File.ReadAllLines(WjNmae);
                    foreach (string value in sa)
                    {
                        string rs = value.Split(' ', '\t')[0];
                        string[] result = rs.Split(',');
                        foreach (string r in result)
                        {
                            lbl_Average.Text = result[0];//这样??
                            Response.Write(r + " ");
                        }
                        Response.Write("<br/>");
                    }
      

  3.   

    使用GridView直接绑定即可。
    将你的文件存成log.txt。完整的绑定源代码<%@ Page Language="C#" %><%@ Import Namespace="System.Data.OleDb" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">  protected void Page_Load(object sender, EventArgs e)
      {
        string ConnectionString;
        string SQLString;
        ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~") + ";Extended Properties=\"Text;HDR=No;FMT=Delimited\"";
        SQLString = "Select * from Log.txt";
        System.Data.OleDb.OleDbConnection ConnectionText = new System.Data.OleDb.OleDbConnection();
        ConnectionText.ConnectionString = ConnectionString;
        ConnectionText.Open();
        System.Data.OleDb.OleDbDataAdapter AdapterText = new System.Data.OleDb.OleDbDataAdapter(SQLString, ConnectionText);
        System.Data.DataSet DataSetText = new System.Data.DataSet("TextFiles");
        AdapterText.Fill(DataSetText, "TextFile");
        GridView1.DataSource = DataSetText;
        GridView1.DataBind();
        ConnectionText.Close();  }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    </head>
    <body>
      <form id="form1" runat="server">
      <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" ShowHeader="false">
        <Columns>
          <asp:TemplateField>
            <ItemTemplate>
              <asp:Label ID="a" runat="server" Text='<%#Eval("F2") %>'></asp:Label>
            </ItemTemplate>
          </asp:TemplateField>
          <asp:TemplateField>
            <ItemTemplate>
              <asp:Label ID="b" runat="server" Text='<%#Eval("F3") %>'></asp:Label>
            </ItemTemplate>
          </asp:TemplateField>
        </Columns>
      </asp:GridView>
      </form>
    </body>
    </html>
      

  4.   

    先感谢下【孟子E章】 童鞋 
      又看到一种方式了 ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~") + ";Extended Properties=\"Text;HDR=No;FMT=Delimited\"";
    我的文本是在服务器上D盘 不在项目的路径下  文件名称不固定 即有文件就读取没有就不读
      你的意思是 我每次去读取d盘下的的文件后 将它存问log。txt  那第一次将读取的文本存进去后 第二次呢?
    是追加到log。txt当中还是 ?
      

  5.   

    string[] sa = File.ReadAllLines(WjNmae);//WjNmae路径
                    foreach (string value in sa)
                    {
                        string rs = value.Split(' ', '\t')[0];
                        string[] result = rs.Split(',');
                        foreach (string r in result)
                            Response.Write(r + " ");
                        Response.Write("<br/>");
                    }
    这种方法能实现么?
      

  6.   

    文件名不固定?
    File读取不也是一样吗》?道理是相同的啊
      

  7.   

    Data Source=是文件夹路径,不是文件
      

  8.   

    那log。txt文本中怎么存? 追加进去还是?
      

  9.   

    Label oLab = (Label)this.FindControl("Label"+1);
                        if (oLab != null)
                        {
                            oLab.Text = "test1";
                        }
    用这种方法赋值应该可以解决你刚才那个问题。但不一情况下很少这种思维来编程。
      

  10.   

    是我没讲清楚 还是???
      无极战士 和JustACoder  今天没在?
      

  11.   

    你可以这样,拖一个GridView控件: <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
    后台写:
    DataTable dt = new DataTable();
    dt.Columns.Add("value1", typeof(string));
    dt.Columns.Add("value2", typeof(string));
    string[] sa = File.ReadAllLines(@"d:\test.txt"));//WjNmae路径
    foreach (string value in sa)
    {
    string rs = value.Split(' ', '\t')[1];
    string[] result = rs.Split(',');
    dt.Rows.Add(result);
    }
    GridView1.DataSource = dt;
    GridView1.DataBind();
    要注意文本文件末尾不要有空行。
      

  12.   

    或者我想把第一行的两列单独提出来 用label显示
     后面的行 就好绑定了   这两列能提出来吗?
      

  13.   

    最多几列啊?最好不要放很多个Label哦,这不方便。
      

  14.   

    你在前面再添dt.Columns.Add("value3", typeof(string));
    根据你右边最多有几项,就要保证添几列。
      

  15.   

    单独拿出第一行的两列:
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br /><asp:Label
    ID="Label2" runat="server" Text="Label"></asp:Label>
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
    DataTable dt = new DataTable();
    dt.Columns.Add("value1", typeof(string));
    dt.Columns.Add("value2", typeof(string));
    dt.Columns.Add("value3", typeof(string));
    string[] sa = File.ReadAllLines(@"d:\test.txt"));//WjNmae路径
    Label1.Text = sa[0].Split(' ', '\t')[0];
    Label2.Text = sa[0].Split(' ', '\t')[1];
    for (int i = 1; i < sa.Length; i++)
    {
    string rs = sa[i].Split(' ', '\t')[1];
    string[] result = rs.Split(',');
    dt.Rows.Add(result);
    }
    GridView1.DataSource = dt;
    GridView1.DataBind();
    样式你自己排一下。