问题描述
前端:<DataGridName="datagrid1"ItemsSource="{Binding}"AutoGenerateColumns="False"Margin="0,62,0,-15"MouseDoubleClick="datagrid_MouseDoubleClick"><DataGrid.Columns><DataGridTextColumnHeader="学号"Width="105"Binding="{Bindingstudentno}"/><DataGridTextColumnHeader="姓名"Width="105"Binding="{Bindingname}"/></DataGrid.Columns></DataGrid>后端:privatevoiddatagrid_MouseDoubleClick(objectsender,MouseButtonEventArgse){}前端已经能查出数据来了,MouseDoubleClick事件中怎么获得选中行studentno的值?
解决方案
解决方案二:
使用Binding模式是对的。最起码不会使用DataRowView来提取数据。通过获取dg的SelectedItem属性,再转成相应的绑定类,就可以获取对应的列(类的属性)的值了。
解决方案三:
引用1楼duanzi_peng的回复:
使用Binding模式是对的。最起码不会使用DataRowView来提取数据。通过获取dg的SelectedItem属性,再转成相应的绑定类,就可以获取对应的列(类的属性)的值了。
你有好点的例子没,主要想实现获得某个值,带到另一个页面查出其他数据。
解决方案四:
引用1楼duanzi_peng的回复:
使用Binding模式是对的。最起码不会使用DataRowView来提取数据。通过获取dg的SelectedItem属性,再转成相应的绑定类,就可以获取对应的列(类的属性)的值了。
版主大人你的话太抽象了,能懂个大概却不知道程序该怎么写。
解决方案五:
可能由于绑定的是实体数据模型,varquery=fromtinDBConnection.tb_studentinfoselectt;this.datagrid1.ItemsSource=query.ToList();像这种获取stringuserName=((((DataGrid)sender).SelectedItem)asDataRowView)["studentno"].ToString();根本获取不到,会的大神说下怎么实现。
解决方案六:
privatevoidgridOrder_MouseDoubleClick(objectsender,MouseButtonEventArgse){if(sender!=null){DataGridgrid=senderasDataGrid;if(grid!=null&&grid.SelectedItems!=null&&grid.SelectedItems.Count==1){MealOrderinfo=grid.SelectedItemasMealOrder;<--这里改成你自己的对象}}}