webForumDet fria alternativet

Översättning VB > C#

.NETur .NET

8 svar · 234 visningar · startad av maqe

maqeMedlem sedan dec. 2003824 inlägg
#1

Detta skulle jag vilja ha hjälp med ...

Dim nodeSupp, nodeProd As TreeNode

Dim rowSupp, rowProd As DataRow

For Each rowSupp In objDS.Tables("dtSuppliers").Rows

nodeSupp = New TreeNode

nodeSupp.Text = rowSupp("CompanyName")

nodeSupp.ID = rowSupp("SupplierID")

TreeView1.Nodes.Add(nodeSupp)

 For Each rowProd In rowSupp.GetChildRows("SuppToProd")

     nodeProd = New TreeNode

     nodeProd.Text = rowProd("ProductName")

     nodeProd.ID = rowProd("ProductID")

     nodeSupp.Nodes.Add(nodeProd)

 Next

Next

Marcus EMedlem sedan maj 20021 466 inlägg
#2

Lär dig gärna översätta själv.
Här kommer lite översättningar:

Dim x As y => y x;
x("y") => x["y"]
For Each x In y => foreach(x in y)
New x => new(x)
Next => }

BrimbaMedlem sedan dec. 19995 875 inlägg
#3

Något sånt här kanske?

TreeNode nodeSupp, nodeProd;
foreach (DataRow rowSupp in objDS.Tables("dtSuppliers").Rows)
{
	nodeSupp = new TreeNode();
	nodeSupp.Text = rowSupp("CompanyName");
	nodeSupp.ID = rowSupp("SupplierID");
	TreeView1.Nodes.Add(nodeSupp);

	foreach (DataRow rowProd in rowSupp.GetChildRows("SuppToProd"))
	{
	nodeProd = new TreeNode();
	nodeProd.Text = rowProd("ProductName");
	nodeProd.ID = rowProd("ProductID");
	nodeSupp.Nodes.Add(nodeProd);
	}
}
maqeMedlem sedan dec. 2003824 inlägg
#4

Tack Brimba ...
jag får fel här:

foreach (DataRow rowSupp in objDS.Tables("dtSuppliers").Rows)

'System.Data.DataSet.Tables' denotes a 'property' where a 'method' was expected

BrimbaMedlem sedan dec. 19995 875 inlägg
#5

Prova med .Rows()

maqeMedlem sedan dec. 2003824 inlägg
#6

Hm tyvärr får jag samma fel då med

Marcus EMedlem sedan maj 20021 466 inlägg
#7

Ja, varför tacka mig? Jag ville ju bara hjälpa dig ett steg på vägen istället för att servera hela lösningen.

Kolla denna rad från mitt tidigare inlägg:
x("y") => x["y"]

Den betyder att du ska byta ut ( mot [ där det behövs. Hakparenteser används i C# när man vill komma åt ett indexerat element.

maqeMedlem sedan dec. 2003824 inlägg
#8

Jo jag löste den biten men nu får jag andra fel:

nodeSupp.Text = rowSupp("CompanyName");
nodeSupp.ID = rowSupp("SupplierID");

Och:

nodeProd.Text = rowProd("ProductName");
nodeProd.ID = rowProd("ProductID");

Dom här meddelandena får jag:
'rowSupp' denotes a 'variable' where a 'method' was expected
'rowProd' denotes a 'variable' where a 'method' was expected

Och där funkar det inte med [ istället för (

maqeMedlem sedan dec. 2003824 inlägg
#9

Jag hade visst fel ... fattades [] och sedan .ToString() ... tack för hjälpen Brimba och Marcus E

123 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)