사용할 수있는 모든 재능 정보를 입력하는 데 사용할 영화 제작 비즈니스 용 WinForm 앱을 제작하고 있습니다. 각 인재의 정보를 입력하고 "레코드 추가"버튼을 클릭하면 텍스트 상자가 모두 DataGrid 및 텍스트 파일에 추가됩니다. 그래서 같은 정보를 추가하고있다 : 그것은 등등이C# 줄 바꿈 텍스트 파일을 DataGrid 셀에
Actor1Info1
Actor1Info2
Actor1Info3
Actor1Info4
Actor1Info5
Actor1Info6
Actor2Info1
Actor2Info2
Actor2Info3
과 같이 읽어 있도록
public void AddToActorFile()
{
List<string> actorList = new List<string>();
actorList.Add(midianTalent.Name);
actorList.Add(midianActor.CharacterName);
actorList.Add(midianActor.CastHeight);
actorList.Add(midianActor.CastWeight);
actorList.Add(midianActor.CastAge);
actorList.Add(midianActor.CastSSN);
actorList.Add(imageFileName);
// B.
string[] actorArray = actorList.ToArray();
File.AppendAllLines(@"Cast.txt", actorArray);
MessageBox.Show(cbPosition.SelectedItem + " Added to Cast File");
AddActorToDataGrid();
}
public void AddActorToDataGrid()
{
actorDataGrid.Rows.Add(midianTalent.Name, midianActor.CastAge, midianActor.CastHeight, midianActor.CastWeight, midianActor.CastSSN, imageFileName);
}
TEXTFILE가 구분 선을 끝납니다. . . 각 액터에는 6 개의 필드가 있습니다.이 필드는 곧바로 하나씩 쓰여집니다.
그런 다음 응용 프로그램을 닫고 다시 열면 텍스트 파일에 각 액터의 정보가 자동으로 채워집니다. DataGrid에는 6 개의 열이 있고 각 행에는 1 개의 액터가 있으며 각 열에는 관련 정보가 들어 있습니다.
텍스트 파일을 읽을 수 없다는 점을 제외하고는 위의 모든 작업이 올바르게 수행됩니다. 내가
public void ReadTalentFileData()
{
using (StreamReader fileReader = new StreamReader("Talent.txt"))
{
int column = 0;
string fileLine;
while ((fileLine = fileReader.ReadLine()) != null)
{
string[] cells = fileLine.Split('\n');
talentDataGrid.Rows.Add();
for (int i = 0; i < cells.Length; i++)
{
talentDataGrid[column, i].Value = cells[i];
}
column++;
}
}
}
첫 번째 배우가 잘 나열되어 다음과 같은 방법을 사용하고 있지만, 내가 거기에 넣어 얼마나 많은 배우 상관없이, 즉 나타 유일한 기록이다, 나는 또한 비어있는 내 데이터 그리드에 추가 행이 . 누구든지 내 readfile 메서드에서 어디서 잘못 될지 파악하여 각 액터가 DataGrid에 나타나도록 도울 수 있습니까?
또한 코드 리팩터링에 대한 정보를 환영합니다.
내 배우가 각각이 응용 프로그램을 사용하게되므로 결국 온라인 MySQL 데이터베이스에서 읽기 및 쓰기로 변경됩니다.하지만이 로컬 복사본을 사용하여 각 인재의 정보를 입력 할 수 있기를 바랍니다. 그런 다음 텍스트 파일을 데이터베이스로 내보내고 데이터베이스에 필요한 변경 사항을 적용한 다음 내 재능에 앱을 릴리스합니다.
조인 사용에 대한 제안을 사용하여 텍스트 파일에 쉼표로 구분 된 목록을 만들었지 만 데이터 그리드에 원본을 바인딩하지 않으므로 읽기가 작동하지 않습니다. . . 하지만 이제 쉼표로 구분 된 목록으로 만들었으므로 인터넷에서 찾은 많은 예제 중 하나를 사용하여 파일을 쉽게 읽을 수 있습니다. 줄 바꿈으로 구분 된 목록을 다루는 많은 파일을 찾지 못했거나 쉼표로 구분 된 파일로 변환하는 방법을 보여주었습니다. . . 감사합니다 – Tearstar
아. 문자열 배열 인'columns'을 사용하여 각 색인을 해당 열에 할당 할 수 있습니다. 나는 편집을 던질 것이다. – Romoku
멋진, 매력처럼 작동합니다. . . 고맙습니다 – Tearstar