如何使用C#WPF將文本文件綁定到數據網格?這個想法是在文本文件中有一行顯示爲datagrid中的一行。C#WPF將文本文件綁定到datagrid
0
A
回答
4
我不認爲你可以直接綁定文本到DataGrid
什麼,但是你可以做的是一個客體綁定到DataGrid
創建代表文本文件的客體。
-- content --
text1, param1, param2
text2, param1, param2
class OneLine{
string text {get;set;}
string param { get;set; }
...
}
然後,您可以使用BindingList(主要是List)將這些對象綁定到數據網格。魔法在於對象的屬性。 BindingList將嘗試獲取對象的每個屬性並將它們顯示在網格中。
BindingList<OneLine> myList = new BindingList<OneLine>();
myList.Add(oneObject);
DataGrid myGrid = new DataGrid();
myGrid.DataSource = myList;
1
在項目中,我用下面的辦法
創建表示在文本文件中的行例如
public class cls_syslog_record { public DateTime? f1 {get;set;} public string f2 {get;set;} public string f3 {get;set;} public string f4 {get;set;} }
創建IEnumerable的是,用作源的DataGrid
類public IEnumerable<cls_syslog_record> get_line_seq_text() { cls_mvs_syslog_parser parser = new cls_mvs_syslog_parser(); foreach (string record_line in File.ReadLines(this.filename)) { cls_syslog_record text_record = parser.parse_syslog_text(record_line); if (text_record == null) { continue; } yield return text_record; } }
設置我的IEnumerable對象作爲源
static private DataGrid make_text_viewer(string p_filename) { logger.Debug("start"); DataGrid table_viewer; cls_file_line_seq fl_seq = new cls_file_line_seq(p_filename); table_viewer = new DataGrid(); table_viewer.CanUserAddRows = false; table_viewer.CanUserDeleteRows = false; table_viewer.Columns.Add(create_column("Date Time", "timestamp")); table_viewer.Columns.Add(create_column("LPAR Name", "lpar_name")); table_viewer.Columns.Add(create_column("JOB ID", "job_id")); table_viewer.Columns.Add(create_column("Message", "message")); table_viewer.HeadersVisibility = DataGridHeadersVisibility.All; table_viewer.ItemsSource = fl_seq.get_line_seq_text(); return table_viewer; }
然後設置結合
static private DataGridColumn create_column(string header, string p_property_name) { DataGridTextColumn column = new DataGridTextColumn(); column.Header = header; column.Binding = new Binding(p_property_name); return column; }
相關問題
- 1. 將WPF TextBlock綁定到文本文件
- 2. WPF DataGrid中的日期文本格式綁定到XML文件
- 3. 將WPF DataGrid綁定到DataTable
- 4. 將新行添加到綁定到XML文件的WPF DataGrid
- 5. WPF MVVM文本框和Datagrid綁定
- 6. 從Datagrid(WPF)綁定文本框
- 7. 綁定WPF DataGrid文本列的前景
- 8. 如何將文本塊綁定到WPF中DataGrid列的總和?
- 9. 將文本框文本綁定到wpf中的xml文件
- 10. WPF綁定到CellStyle的DataGrid上下文
- 11. 使用Caliburn.Micro將文本文件信息綁定到DataGrid
- 12. C#wpf,從文本框綁定到dataGridColumn
- 13. C#WPF綁定列表到DataGrid
- 14. WPF綁定DataGrid
- 15. WPF DataGrid綁定
- 16. WPF DataGrid綁定
- 17. WPF Datagrid綁定到組合框和文本框
- 18. wpf綁定文本
- 19. 將DataTable綁定到DataGrid。 WPF MVVM
- 20. 將外鍵綁定到Datagrid(WPF/EF)
- 21. WPF將列表綁定到DataGrid
- 22. 將ViewModel命令綁定到WPF DataGrid
- 23. 如何將字典綁定到datagrid wpf
- 24. 如何將WPF DataGrid綁定到ObservableCollection
- 25. 將EF綁定到WPF中的DataGrid
- 26. WPF:將DataGrid列標題綁定到ViewModel
- 27. WPF將HTML與HTML綁定到DataGrid
- 28. WPF綁定屬性到Datagrid
- 29. WPF Datagrid綁定到xml
- 30. 問題綁定到WPF Datagrid