2010-07-01 8 views
1

J'ai besoin d'un peu d'aide pour convertir du code VB.NET en C#. J'ai essayé plusieurs "convertisseurs de code" mais aucun d'entre eux ne me rend une réponse réalisable.Convertir VB en C#

Voici le code:

If Me.OrdersDataGridView.SelectedRows.Count > 0 Then 
Dim editForm As New Order(Me.NorthwindDataSet, _ 
    Me.NorthwindDataSet.Orders.Rows.IndexOf_ 
    (CType(CType(Me.OrdersDataGridView.SelectedRows(0)._ 
    DataBoundItem, DataRowView).Row, NorthwindDataSet.OrdersRow))) 
    editForm.Show() 
End If 

Toute aide avec ceci est grandement appréciée!

EDIT: voici un link à l'article original, je trouve cela dans

Répondre

6

Essayez ceci:.

if (this.OrdersDataGridView.SelectedRows.Count > 0) 
{ 
    NorthwindDataSet.OrdersRow row = (NorthwindDataSet.OrdersRow) 
             ((DataRowView)this.OrdersDataGridView 
              .SelectedRows(0).DataBoundIte).Row; 

    Order editForm = new Order(
          this.NorthwindDataSet, 
          this.NorthwindDataSet.Orders.Rows.IndexOf(row)); 

    editForm.Show(); 
} 
+0

+1 Parfait! Je vous remercie. – Sesame

+0

Andrew Je peux me tromper mais je pense que vous avez l'index de style VB pour SelectedRows et vous avez quitté le m pour DataBoundItem. Mais j'espère qu'il pourra comprendre cela après l'avoir essayé une fois et avoir échoué. – spinon

+0

Spinon, tu as raison et je l'ai fait. ;) – Sesame

0
if (this.OrdersDataGridView.SelectedRows.Count > 0) 
{ 
    Order editForm = new Order(this.NorthwindDataSet, 
     this.NorthwindDataSet.Orders.Rows.IndexOf((NorthwindDataSet.OrdersRow)((DataRowView)this.OrdersDataGridView.SelectedRows[0].DataBoundItem).Row); 
    editForm.Show(); 
} 

Ok je pense que je tapais bien cela.

0

Si les convertisseurs de code échouent ici, c'est probablement parce que vous avez besoin d'une référence dans votre solution Visual Studio pour cette base de données spécifique afin qu'elle fonctionne.

La conversion devrait être quelque chose comme:

if (this.OrdersDataGridView.SelectedRows.Count > 0) 
{ 
    var dataRowView = (DataRowView) this.OrdersDataGridView.SelectedRows(0).DataBoundItem; 
    var ordersRow = (NorthwindDataSet.OrdersRow) dataRowView; 
    var editForm = new Order(this.NorthwindDataSet, ordersRow) 
    editForm.Show() 
}