地基系列三 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;

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