webForumDet fria alternativet

Har nu försökt med detta problem några dagar:( hjälp

.NET

65 svar · 998 visningar · startad av wwwstekaren

Medlem sedan apr. 2003234 inlägg
Frågan#1

Hej!

Sitter med en xml fil som ska läsas ut i en dropdownlist i en datagrid, någon som har erfarenhet av detta som kan hjälpa mig, snälla:) Sitter fast

Medlem sedan juni 20011 732 inlägg
#2

Läs in din xml i en array, en datatable eller liknande så kan du fylla din dropdownlist med den som vanligt. Det går säkert att läsa in en xml till en ddl direkt med en xml-reader eller nåt men jag vet inte exakt hur, är dålig på xml tyvärr.

Medlem sedan dec. 20003 563 inlägg
#3
ex.
Dim ds as new dataset()
ds.ReadXML(server.mappath("xmlfil.xml"))
DropDownListen.datasource = ds
DropDownListen.databind()

---

<asp:dropdownlist runat=server id=DropDownListen datatextfield="Texten/kolumn" datavaluefield="värdet/kolumn">
Medlem sedan apr. 2003234 inlägg
#4

ska testa det nu tackar

Medlem sedan apr. 2003234 inlägg
#5

ska väll bara en funktion som ser ut så här?

public DataTable test
		{
		Dim ds as new dataset();
		ds.ReadXML(server.mappath("lookup.xml"))
		DropDownListen.datasource = ds;
		ropDownListen.databind();
		}
Medlem sedan dec. 20003 563 inlägg
#6

Mjo, men du har blandat c# och vb ganska friskt där ;)

Medlem sedan apr. 2003234 inlägg
#7

tror det jag:) hur ska det kodas då

Medlem sedan dec. 20003 563 inlägg
#8
 I Vb
Public Function FyllDropList()
Dim ds as new dataset()
ds.ReadXML(server.mappath("xmlfil.xml"))
DropDownListen.datasource = ds
DropDownListen.databind()
End Function

S borde väl duga.

Medlem sedan apr. 2003234 inlägg
#9

i c# sorry

Medlem sedan dec. 20003 563 inlägg
#10

Använder aldrig det men det kanske kan se ut såhär? (nån annan får fixa upp min röra sen) :)

Public FyllDropList {
new dataset() ds;
ds.ReadXML(server.mappath("xmlfil.xml"));
DropDownListen.datasource = ds;
DropDownListen.databind();
}
Medlem sedan apr. 2003234 inlägg
#11

så hör kodade jag

protected void FyllDropList()
		{
		DataSet ds = LoadWebs();
		ds.ReadXml(Server.MapPath("lookup.xml"));
		dropdownlistRe.DataSource = ds;
		dropdownlistRe.DataBind();
		}
Medlem sedan apr. 2003234 inlägg
#12

angående dropdownlistan

den skulle ju se ut så här

<asp:dropdownlist runat=server id=DropDownListen datatextfield="Texten/kolumn" datavaluefield="värdet/kolumn">

var bestämmer jag från vilken nod den ska skriva ut från xml filen? Alltså om jag bara vill ha ut namn från xml filen?

Medlem sedan apr. 2003234 inlägg
#13

Funkar inte att få ut den i datagriden

Medlem sedan juni 20011 732 inlägg
#14

Du kan inte bara kasta in ett helt dataset i en dropdownlista om den innehåller en massa olika data. Vet inte om det fungerar när du fyllt ditt dataset från en xml men om du vill definiera en vald kolumn i ett dataset som ska fylla dropdownlistan så gör man så här:

DroDownList.DataTextField = "Name";
Medlem sedan apr. 2003234 inlägg
#15

detta ska skrivas i funktionen?

Medlem sedan juni 20011 732 inlägg
#16

Ja, innan du binder din dropdownlist.

Medlem sedan apr. 2003234 inlägg
#17

funkar inte, min funktion ser ut så här:

protected void FyllDropList()
		{
		DataSet ds = LoadWebs();
		ds.ReadXml(Server.MapPath("lookup.xml"));
		dropdownlistRe.DataValueField = "Name";
		dropdownlistRe.DataSource = ds;
		dropdownlistRe.DataBind();
		}
Medlem sedan jan. 20012 204 inlägg
#18

dropdownlistRe.DataValueField = "Name"; - value
dropdownlistRe.DataTextField = "Name"; - text

om det är det som är problemet?

Medlem sedan sep. 20011 914 inlägg
#19

Och datakällan först.

dropdownlistRe.DataSource = ds.tables[0]
dropdownlistRe.DataTextField = "Name"
dropdownlistRe.DataValueField = "Name"
dropdownlistRe.DataBind()
Medlem sedan apr. 2003234 inlägg
#20

jag har nu denna funktionen

protected void FyllDropList()
		{
		DataSet ds = LoadWebs();
		ds.ReadXml(Server.MapPath("lookup.xml"));
		dropdownlistRe.DataSource = ds.Tables[0];
		dropdownlistRe.DataTextField = "Name";
		dropdownlistRe.DataValueField = "Name";
		dropdownlistRe.DataBind();
}

Xml filen ser ut så här:

<?xml version="1.0" encoding="utf-8" ?> 
<root>
   <states>
      <state val="NY" text="New York" />
      <state val="CT" text="Connecticut" />
      <state>
        <val>NJ</val>
        <text>New Jersey</text>
      </state>
   </states>
   <countries>
      <country>
        <countryCode>USA</countryCode>
        <countryText>United States</countryText>
      </country>
      <country countryCode="CA" countryText="Canada" />
   </countries>
</root>

Hur ska jag nu skriva för att få en att funka i datagriden? Det händer inget

670 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
529 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
529 ms — ändringar (db)