2015-04-03 101 views
0

我有一个文本文件,我试图编辑。基本上,该文本文件包含业务请求的数据。因此,它将按照该顺序存储名称,员工ID,请求类型,请求总数,请求状态以及日期和时间。我必须能够编辑选定行的总金额。我正在使用列表视图来选择项目。举例来说,我不得不接受史密斯的请求,并编辑$ 2.00并将其改为例如$ 4.00。C#编辑文本文件

瑞安摇滚,345,食品,$ 456.00,待定,第4 /二千○十五分之二下午3点48分45秒

史密斯,4567,食品,$ 2.00,挂起,第4 /二千零十五​​分之二6:26 :37 PM

杰里,444,旅游,$ 22.00,挂起,第4 /二千○十五分之二下午6时26分47秒

private void btnModify_Click(object sender, EventArgs e) 
    { 
     foreach (ListViewItem item in listView1.Items) 
      if (item.Selected) 
      {      
       string selected = item.Text.ToString(); 
       string str; 

       double total; 
       bool totalCheck = double.TryParse(txtTotal.Text, out total); 

        if (totalCheck) 
        { 
         var lines = File.ReadAllLines("../../textFile/ExpenseReportingData.txt"); 
         lines[3] = "7"; 
         File.WriteAllLines("../../textFile/ExpenseReportingData.txt", lines); 
        } 
        else 
        { 
         MessageBox.Show("Please Enter A Valid Ammount", "Error"); 
        }      
      } 
    } 

任何帮助将不胜感激。谢谢。

+0

嗯一部分不包括在你的文本文件编码框。不知道为什么,但其上面发布。对不起,如果我看起来像这样的菜鸟。我在我的第一个C#类。 – starkiller1226 2015-04-03 00:21:04

+0

等待,它现在在那里。所以我所有的代码都在框中。再次抱歉。 – starkiller1226 2015-04-03 00:25:09

+0

我修复了您的代码块,第一行必须缩进4个空格。我还为您的文件结构使用了一个报价块。如果您的格式有问题,您可以使用问题下标记下的“编辑”链接编辑您的问题。如果您需要更多格式帮助,请点击[帮助页面](https://stackoverflow.com/editing-help) – 2015-04-03 00:26:05

回答

0

到特定的某一行编辑值u可以做这样的事情:

for (int i = 0; i < lines.Length; i++) 
     { 
      string[] lineData = lines[i].Split(',');//split the line into an array ["Smith" ,"4567" ,"Food" ,"$2.00" ,"Pending" ,"4/2/2015 6:26:37 PM"] 
      if (lineData[0] == "Smith")//0 is the index of the client name 
      { 
       lineData[3] = "$4.00";//modifie the value 
       lines[i] = String.Join(",", lineData); 
       File.WriteAllLines("../../textFile/ExpenseReportingData.txt", lines); 
      } 
     } 

,但我不会推荐它,你应该使用一个数据库来保存你的数据和每个客户端都必须有一个唯一的ID(很多客户端可以使用相同的名称,这将产生问题)

,或者你可以尝试使用格式的XML/JSON类型

我的代码
+0

感谢您的帮助。经过几次更改后,工作就完成了,所以我可以通过文本框对其进行修改。这应该是完美的,因为它是初学者的课程,但我会为未来的项目记住数据库建议。 – starkiller1226 2015-04-03 01:03:18