我怎么知道我可以在GetRow()上投射什么类型?

时间:2012-02-08 14:28:20

标签: c# winforms devexpress xtragrid

void gridControl1_DoubleClick(object sender, EventArgs e) {
    GridControl grid = sender as GridControl; 
    DXMouseEventArgs args = e as DXMouseEventArgs;
    BaseHitInfo hitInfo = grid.Views[0].CalcHitInfo(args.Location);
    GridHitInfo gridHit = hitInfo as GridHitInfo;
    if (GridHitTest.RowCell == gridHit.HitTest) {
        int rowHandle = gridHit.RowHandle;
        grid.MainView.GetRow(rowHandle);//GetRow returns Object. I need to cast this to a Type to make it useful
    }
}

我有GetRow()的documentation。我无法提取比我已经通过intellisense提取的更多有用的信息。

我怎么知道我可以把它投到哪里?

1 个答案:

答案 0 :(得分:7)

文档对我来说似乎相当清楚:

  

此方法的返回值取决于View的数据源的类型。如果数据源是System.Data.DataTable或System.Data.DataView,则此方法返回System.Data.DataRowView对象。如果数据源是项目的自定义列表,则返回相应的列表项。

那么 你的来源是什么?是DataTable / DataView吗?如果是,请转到DataRowView。如果它是List<T>或类似的东西,则转换为元素类型。我假设您 在编译时知道您的数据源类型是什么?