如何从文本文件写入数据网格
使用以下代码从数据网格写入文本文件
"(\w+)(\sU)"
我的文字文件如下所示
5/30/2017 12:00:00 AM:10:00:Tom:Boy | 5/30/2017 12:00:00 AM:10:00:KElly:Girl |
我的从文本文件到datagrid读取它的方法看起来像这个
string file_name = "text.txt";
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < datagrid.Items.Count; i++)
{
//this is the class person
Person prsn = (Person) datagrid.Items[i];
strBuilder.Append(prsn.ToString());
}
File.WriteAllText(file_name, strBuilder.ToString());
但是当我这样做并加载表单时,我的datagrid显示以下值
计数 148
我如何以探针的方式阅读它并将其发布在数据网格而不是数据网格中
答案 0 :(得分:0)
将复杂对象保存到Text
不是一个好选择。
读取Text并将其解析回对象是很多工作(对于你和CPU)。您必须将Line拆分为对象的属性,创建人员的新实例并为每个属性设置值。
不要让你觉得那么难。
您应该使用Serialization
instad。
一个简单的例子就是这样:
List<Persons>
)List<Person>
或者您可以使用任何XmlSerializer
答案 1 :(得分:-2)
这是因为DataGrid会查找包含对象的属性。你必须做以下的事情: 的更新强>
public void todatagrid()
{
List<Person> persons = new List<Person>();
string textfile = "test.txt";
var textvalues = File.ReadAllLines(textfile);
foreach (var item in textvalues)
{
persons.Add(new Person() { Value = item });
}
datagrid.ItemsSource = persons;
}
class Person
{
public string Value { get; set; } //Whatever this field is
}