문제

나는 새로운 프로그래밍고 얼굴에 어려움이 있습니다.을 저장할 수 있도록 노력 하겠 데이터를 나를 생성(WPF DataGrid 로)텍스트 파일입니다.

이것은 무엇을 나는 현재:

MainWindow.xaml.cs:

private void SaveButton_Click(object sender, RoutedEventArgs e)
{
    string fileName = @"D:\projects\PersonInfos\Files\PersonInfos_Copy.txt";
    PersonInfosTable.ConvertToTXTFile(fileName);
}

PersonInfosTable.cs:

public void ConvertToTXTFile(string fileName)
{
    StringBuilder sb = new StringBuilder();
    System.Text.Encoding Output = null;
    Output = System.Text.Encoding.Default;

    foreach (PersonInfos personinfos in PersonInfoDetails)
    {
        if (PersonInfos.SelectCheckBox == true)
        {
            string line = String.Format("L§" + personinfos.FirstName + "§" + personinfos.LastName + "§");
            sb.AppendLine(line);

            StreamWriter file = new StreamWriter(fileName);
            file.WriteLine(sb);

            file.Close();
        }
    }
}

불행하게도,이 작동하지 않습니다. PersonInfosDetails 의 형식 ObservationCollections<T>SelectCheckBox 는 확인란을 선택한 사용자에 의해,그리고 나타내는 파일을 사용자가 저장합니다.

어떤 아이디어나 제안이 있으십니까?나는 당신의 도움을 주셔서 감사합 그래서 많은 그리고 당신을 순전히 감사하는 시간!

도움이 되었습니까?

해결책

그것이 무엇인지 명확하지 않은 SelectCheckBox 을 제공합니다.그러나,당신은 당신이를 이동해야에 쓰는 프로그램의 일부 외부합니다.루프 안에서 추가 모든 사람에게 정보를 StringBuilder 인스턴스입니다.

 public void ConvertToTXTFile(string fileName)
 {
     StringBuilder sb = new StringBuilder();
     System.Text.Encoding Output = System.Text.Encoding.Default;
     foreach (PersonInfos personinfos in PersonInfoDetails)
     {
         // Collect every personinfos selected in the stringbuilder
         if (personinfos.SelectCheckBox == true)
         {
            string line = String.Format("L§" + personinfos.FirstName + "§" + personinfos.LastName + "§");
            sb.AppendLine(line);
         }
     }

     // Now write the content of the StringBuilder all together to the output file
     File.WriteAllText(filename, sb.ToString())
}

다른 팁

을 시도했다 방법:쓰기 텍스트 파일(C#프로그래밍 가이드)?

또한,코드에 제공된 작동하지 않습니지 SelectCheckBox 은 정전성 PersonInfos 클래스입니다.당신은 아마이 있을 변경할 if 문의

if (personInfos.SelectCheckBox == true)
{
    // ...
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top