首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从DataRowView获取DataGridRow?

从DataRowView获取DataGridRow的方法是通过DataGrid的ItemContainerGenerator属性来实现。

首先,需要获取到DataGrid中选中的DataRowView对象。可以通过DataGrid的SelectedItems属性来获取选中的行,然后使用索引获取到对应的DataRowView对象。

代码语言:txt
复制
DataRowView selectedRow = (DataRowView)dataGrid.SelectedItems[0];

接下来,可以使用DataGrid的ItemContainerGenerator属性来获取到对应的DataGridRow对象。通过调用ItemContainerGenerator的ContainerFromItem方法,将DataRowView对象作为参数传入,即可获取到对应的DataGridRow对象。

代码语言:txt
复制
DataGridRow dataGridRow = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromItem(selectedRow);

需要注意的是,ItemContainerGenerator的ContainerFromItem方法只能在DataGrid已经加载完成并可见的情况下才能正常工作。如果在DataGrid还未加载完成或不可见的情况下调用该方法,可能会返回null。

以上就是从DataRowView获取DataGridRow的方法。在实际应用中,可以根据需要进行适当的判断和异常处理,以确保获取到正确的DataGridRow对象。

关于腾讯云相关产品,由于要求不能提及具体品牌商,无法给出相关产品和链接地址。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 数据绑定以及Container.DataItem几种方式与使用方法分析[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。 灵活的运用数据绑定操作 绑定到简单属性:<%#UserName%> 绑定到集合:<asp:ListBox id=”ListBox1″ datasource='<%# myArray%>’ runat=”server”> 绑定到表达式:<%#(class1.property1.ToString() + “,” + class1.property2.ToString())%> 绑定到方法返回值:<%# GetSafestring(str) %> 绑定到Hashtable:<%# ((DictionaryEntry)Container.DataItem).Key%> 绑定到ArrayList:<%#Container.DataItem %> 若数组里里放的是对象则可能要进行必要的转换后再绑定如: <%#((对象类型)Container.DataItem).属性%> 绑定到DataView,DataTable,DataSet: <%#((DataRowView)Container.DataItem)[“字段名”]%>或 <%#((DataRowView)Container.DataItem).Rows[0][“字段名”]%> 要格式化则: <%#string.Format(“格式”,((DataRowView)Container.DataItem)[“字段名”])%> <%#DataBinder.Eval(Container.DataItem,”字段名”,”格式”)%> 绑定到DataReader: <%#((IDataReader)Container.DataItem).字段名%> 当然为了方便一般使用最多的就是DataBinder类的Eval方法了.只是这样对于同一时候要绑定大量的数据效率要低一些

    01

    #region 判断datagrid是否点击的数据行

    ///

    判断datagrid是否点击的数据行         ///         public static bool IsDataGridRowClick(DataGrid dg, MouseButtonEventArgs e)         {             System.Windows.Point aP = e.GetPosition(dg);             IInputElement obj = dg.InputHitTest(aP);             System.Windows.DependencyObject target = obj as System.Windows.DependencyObject;             int i = 0;             while (target != null && i < 10000)             {                 if (target is System.Windows.Controls.DataGridRow)                 {                     return true;                 }                 target = System.Windows.Media.VisualTreeHelper.GetParent(target);                 i++;             }             return false;

    02
    领券