我需要一些帮助将一些VB.NET代码转换为C#。我已经尝试了几个“代码转换器”,但没有一个能给我一个可行的响应。
以下是代码:
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
非常感谢任何帮助!
编辑:这是我发现的原始文章的link。
答案 0 :(得分:6)
试试这个:
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();
}
答案 1 :(得分: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();
}
好的,我认为我输入的是正确的。
答案 2 :(得分:0)
如果代码转换器在这里失败,可能是因为您需要在Visual Studio解决方案中引用该特定数据库才能使其正常工作。
转换应该是这样的:
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()
}