protected void Page_Load(object sender, EventArgs e)aspx page:
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("emp.xml"));
grdEmployee.DataSource = ds.Tables["Employee"];
grdEmployee.DataBind();
}
protected void grdEmployee_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList ddlDepartment = (DropDownList)e.Row.FindControl("ddlDepartment");
Label lblid = (Label)e.Row.FindControl("lbldept");
DataSet dsr = new DataSet();
dsr.ReadXml(Server.MapPath("Dept.xml"));
ddlDepartment.DataSource = dsr;
//ddlDepartment.DataTextField = "Dname";
//ddlDepartment.DataValueField = "Deptid";
ddlDepartment.DataBind();
string id = lblid.Text;
ddlDepartment.Items.FindByValue(id).Selected = true;
ddlDepartment.Items.Insert(0, "-Select Department-");
// ddlDepartment.SelectedValue = e.Row.Cells[0].Text;
}
}
}
Collapse | Copy Code
<asp:GridView ID="grdEmployee" runat="server" AutoGenerateColumns="false" onrowdatabound="grdEmployee_RowDataBound" Height="273px" Width="455px"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:Label ID="lbldept" runat="server" Text='<%#Bind("deptid") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <ItemTemplate> <asp:DropDownList ID="ddlDepartment" DataValueField="value" DataTextField="name" runat="server"> </asp:DropDownList> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="name" HeaderText="name" /> <asp:BoundField DataField="sal" HeaderText="sal" /> <asp:BoundField DataField="Deptid" HeaderText="Deptid" ControlStyle-Width="0px" /> </Columns> </asp:GridView>in code behind i have written two times ds.readxml beacuse one emp.xml is binding grid and another one is binding with drop downlist.how can i place at one place i have two xml files.dept.xml is binding with drop downlist which is inside a gridview.MY assignment is write to place one place it because no need to write two times ds.readxml.How will be done ?pls anyone help me
James Smith
07-Feb-2012You can also use XmlDataSource control for binding record in GridView and combobox. By This way you did not need to bind record multiple times.
Thanks