Hello, säkert inte felet men har du lagt till skrivrättigheter på mappen där din xml-fil ligger?
Har nu försökt med detta problem några dagar:( hjälp
65 svar · 1 006 visningar · startad av wwwstekaren · sida 3 av 4
Frågan, av wwwstekaren
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
Läs frågan i sin helhet →Testa detta. Har då en datagrid och i den en dropdownlist vars databinding event i code-behinden binder dess data från xml filen. Du får ändra de delarna som passar dina behov. Hoppas du får det att fungera nu. :)
.aspx file
<asp:DataGrid ID="dgGrr" AutoGenerateColumns="false" Runat="server">
<Columns>
<asp:BoundColumn DataField="dg_id"/>
<asp:BoundColumn DataField="dg_name"/>
<asp:BoundColumn DataField="dg_age"/>
<asp:BoundColumn DataField="dg_info"/>
<asp:TemplateColumn>
<ItemTemplate>
<asp:DropDownList ID="dropdownlistRe" OnDataBinding="dropdownlistRe_bind" Runat="server"/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
code-behind file
Protected WithEvents dropdownlistRe As DropDownList
Protected WithEvents dgGrr As DataGrid
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
binddata()
End Sub
Sub binddata()
'här binder jag datan till datagriden
End Sub
Sub dropdownlistRe_bind(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dropdownlistRe.DataBinding
Dim ds As New DataSet()
ds.ReadXml(Server.MapPath("test.xml"))
sender.DataSource = ds.Tables(1)
sender.DataValueField = "val"
sender.DataTextField = "text"
End Sub
Detta är inte c#, jag ska försöka att få det att funka i c#
Hur skriver jag det i c#? Håller på att testa lite
Kan inte alls men gissar på något sånt här. Testa dig fram.
Protected WithEvents dropdownlistRe As DropDownList
Protected WithEvents dgGrr As DataGrid
Private void Page_Load(Object sender, EventArgs e) Handles MyBase.Load
{
binddata()
}
void binddata()
{
'här binder jag datan till datagriden
}
void dropdownlistRe_bind(Object sender, EventArgs e) Handles dropdownlistRe.DataBinding
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("lookup.xml"));
sender.DataSource = ds.Tables[1]
sender.DataValueField = "val"
sender.DataTextField = "text"
}
tackar ska testa nu:)
Du får det att funka i c#?
Håller på att försöka få ihop koden. Koden ser ut så här:
//protected WithEvents dropdownlistRe as DropDownList
Hur ska jag koda här
//protected WithEvents dgGrr as DataGrid
och här ovan i c# för att det ska funka?
void binddata()
{
//här binder jag datan till datagriden
}
protected void dropdownlistRe_bind()
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("lookup.xml"));
dropdownlistRe.DataSource = ds.Tables[1];
dropdownlistRe.DataValueField = "val";
dropdownlistRe.DataTextField = "text";
}
1.släng ut en ny dropdownlist på sidan. Byt namn till dropdownlistRe.
2. Släng ut en datagrid. Byt namn på den till dgGrr så ska det nog funka!
protected WithEvents dropdownlistRe as DropDownList
Hur ska jag koda här
//protected WithEvents dgGrr as DataGrid
och här ovan i c# för att det ska funka?
Detta är det som inte funkar i min cs fil
protected WithEvents dropdownlistRe as DropDownList
skulle visst vara
protected System.Web.UI.WebControls.DropDownList dropdownlistRe ;
nu går det igenom, får nu fel på detta
<asp:DropDownList ID="dropdownlistRe" OnDataBinding="dropdownlistRe_bind" Runat="server" />
får fel:
Compiler Error Message: CS0123: Method 'xml_dropdownlist.WebForm1.dropdownlistRe_bind()' does not match delegate 'void System.EventHandler(object, System.EventArgs)'
protected void dropdownlistRe_bind(Object Sender, EventArgs e)
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("lookup.xml"));
Sender.DataSource = ds.Tables[1];
Sender.DataValueField = "val";
Sender.DataTextField = "text";
}
<asp:BoundColumn DataField="dg_id" HeaderText="Test" />
"dg_id" var hämtas då? Vad innebär det? är det från xml filen?
Får ej fram någon dropdownlist
dg_id är en del av min kod dom kan du ta bort, den del du behöver är:
<asp:TemplateColumn>
<ItemTemplate>
<asp:DropDownList ID="dropdownlistRe" OnDataBinding="dropdownlistRe_bind" Runat="server"/>
</ItemTemplate>
</asp:TemplateColumn>
Får inte fram någon dropdownlist i min datagrid
Skicka hela koden då.
För mycket kod, kan jag maila filerna till dig i stället?