webForumDet fria alternativet

ändra värde i dataview

.NETur .NET

3 svar · 209 visningar · startad av DavidB

Medlem sedan jan. 20001 372 inlägg
Frågan#1

Tjena

Har en dataview med värden som jag laddat in från en XML fil.
Den har två kolumner (namn,code). Kolumnen namn innehåller
ett namn på ett land, code innehåller "koden" för detta land som
man använder vid datum med mera (ex se-sv).

Nu e det så att jag försöker ändra värdet i kolumnen namn så
jag kan skriva in ett datum där också med landets format på
datum och tid. Använder mig utav följande kod:

DataView dv = xd.ListDateTimeFormat();

for(int x=0;x<dv.Table.Rows.Count;x++){
	dv.Table.Rows[x]["name"] = "" + dv[x]["name"] + " (" + DateTime.Now.ToString(new CultureInfo(dv[x]["code"].ToString())) + ")";
}

sb.DataSource = dv;
sb.DataValueField = "code";
sb.DataTextField = "name";
sb.DataBind();

Nu e bara problemet att första landets namn
och formatering skrivs ut på alla rader i selectboxen. Har försökt
få det att fungera på diverse olika sätt men har ej lyckats.

Nån som har nån idè?

Medlem sedan nov. 2003569 inlägg
#2

Tjenare :h

Du skapar en ny kolumn i datavyn:s datatabell.

dv.Table.Columns.Add("format",typeof(System.String));

och fyller den med format grejer.

Men varför använder du en dataview?, du vet väl att datavyn innehåller en datatable, och det är ju bara datatable:n du använder, så kasta bort dataviewn ;) , eller behöver du använda XML-schemat också när du programmerar?

Medlem sedan jan. 20001 372 inlägg
#3

mycket bra fråga, är nog för att jag inte riktigt visste om detta. Du
tror inte du skulle kunna ge mig lite exempelkod på hur det ser ut
med ett datetable. Kanske är likadant?

Medlem sedan nov. 2003569 inlägg
#4

Det är precis likadant:

Table.Columns.Add("format",typeof(System.String));

DataView:n är som en sugkopp som man hakar på ett datatable eller vice-versa.

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