2012-02-08 8 views
1
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を介して既に引き出すことができるよりもはるかに有用な情報を抽出することができませんでした。GetRow()でどのような型にキャストできるのかをどのように知ることができますか?

私はこれをどのようにキャストすることができますか?

答えて

7

ドキュメントは、私には合理的に明確なようだ:

このメソッドの戻り値は、ビューのデータソースの種類に依存します。データソースがSystem.Data.DataTableまたはSystem.Data.DataViewの場合、このメソッドはSystem.Data.DataRowViewオブジェクトを返します。データソースが項目のカスタムリストである場合、適切なリスト項目が返されます。

だからですか?それはDataTable/DataViewですか?その場合は、DataRowViewにキャストしてください。それがList<T>または類似のものなら、要素型にキャストします。私はあなたと仮定しますは、あなたのデータソースの種類をコンパイル時に知っていますか?

+0

ありがとう。リストによって入力されています。 –

+0

@ P.Brian.Mackey:それで、あなたはそれを見て 'SomeModel'にキャストします。 –

+0

@John Skeet - 確かに。私はドキュメンテーションでその発言を見逃した。私は新しい会社で新しいプロジェクトに取り組んでいます。締め切りに迫っています。だから私は間違ったことをしている。ご協力いただきありがとうございます。 –

関連する問題