【问题标题】:Open child window on link button click present in DevExpress GridControl and pass values打开链接按钮上的子窗口单击 DevExpress GridControl 中存在的按钮并传递值
【发布时间】:2012-03-03 06:43:33
【问题描述】:

我正在做 Silverlight 4 应用程序。

我有 4 列的 DevExpress GridControl。我已将 HyperlinkBut​​ton 作为其中一列的显示模板,如下所示。网格控件的项目源已绑定在代码隐藏中。

<dxg:GridControl Name="grid" Height="294" Width="634">
    <dxg:GridControl.Columns>
        <dxg:GridColumn FieldName="Name" />
        <dxg:GridColumn FieldName="Id_no" />
        <dxg:GridColumn FieldName="Type" />
        <dxg:GridColumn Header="View Details">
            <dxg:GridColumn.DisplayTemplate>
                <ControlTemplate>
                    <HyperlinkButton Click="HyperlinkButton_Click"/>
                </ControlTemplate>
            </dxg:GridColumn.DisplayTemplate>
        </dxg:GridColumn>
    </dxg:GridControl.Columns>

在 HyperlinkBut​​ton 的 Click 事件处理程序中,我想打开一个子窗口并将该特定行的详细信息(Name,Id_no,Type) 传递给它。

void HyperlinkButton_Click(object sender, RoutedEventArgs e) {
    Childwin win_ch = new Childwin();
    win_ch.Show();
    // pass the row values to the child window???
}

不知道如何获取gridcontrol的行值。

有什么想法吗?有没有更好的方法?

【问题讨论】:

    标签: silverlight devexpress gridcontrol


    【解决方案1】:

    您可以通过DataViewBase.GetRowHandleByTreeElement 方法获取包含超链接的网格行的行句柄。然后使用GridControl.GetRow方法获取行对象。

    void HyperlinkButton_Click(object sender, RoutedEventArgs e) {
        int rowHandle = tableView3.GetRowHandleByTreeElement((DependencyObject)sender);
        object row = gridControl1.GetRow(rowHandle);
        // then use the row object
    }
    

    还请查看以下帮助文章:

    1. Obtaining Row Handles
    2. Identifying Rows

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      相关资源
      最近更新 更多