地基系列三 wpf_MVVM_003 查詢數據綁定到表格

將數據綁定到表格:
(1):實例化 Model
(2):使用linq查詢數據,並轉化爲ToList();
(3):獲取DataGrid的表格Name,綁定ItemSource;
例子:
(1): myEntities myModel = new myEntities();
(2):
public class myClass
{
public int 字段一{ get ; set ; }
public string 字段二 { get ; set ; }
}
var list = (from mytable1 in myModel.Table1
join mytable2 in myModel.Table2 on mytable1.table1ID equals mytable2.table2ID )
// where mytable2.字段二 == “需求需要的條件字段”
select new myClass{
字段一 = mytable1.字段一
字段二 = mytable2.字段二

		}) . ToList();
 (3): myDataGrid.ItemsSource = list;

備註: 【1】使用linq查詢時的簡寫:
var list = myModel.Table1.Select(p => new myClass { 字段一 = p.字段一, 字段二 = p.字段二 }).ToList() ;
var list = myModel.Table1.Where(p => p.字段一 == “需求需要的條件字段”).Select…
【2】獲取表格當前行的方式:
(1)在表格中給了一個編輯按鈕,獲取當前行:
private int 主鍵ID = 0;
var myRow = (DataRowView)myDataGrid.CurrentItem;
if(myRow != null) 主鍵ID = Convert.ToInt32(myRow[“主鍵ID”]);
注意:轉換成DataRowView時,需要的數據格式爲DataTable,請注意格式;
(2)在表格中給了一個 SelectedCellsChanged事件,獲取當前行:
private int 主鍵ID = 0;
myClass myRow = myDataGrid.CurrentItem as myClass;
if(當前行 != null) 主鍵ID = myRow.主鍵ID;
(3)在表格中選中一行,點擊表格外的編輯按鈕,獲取當前行:
private int 主鍵ID = 0;
myClass myRow = myDataGrid.SelectedItem as myClass;
if(myRow != null) 主鍵ID = myRow.主鍵ID;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章