asp.net - Edit Nested DataList error -


i able create beautiful, 4 generation nested datalist (parent, child, grandchild, greatgrandchild) using dataset populated @ page_load sub called data_binder(). i'm pleased how , correctly data displays.

however, when click on edit button in greatgrandchild datalist, info should show in edititemtemplate disappears rather allowing me edit. looks @ initial display:

jul 2013 stat forecast sales brand 100           116   drop 80 %  testing insert part number mix dp adj sp 8521150 30% 8    8 edit 8521148 20% 5    5 edit 8523458 10% 3    3 edit 8524400 7%  2    2 edit 8524276 6%  2    2 edit 8523165 6%  2    2 edit 8523985 5%  1  2 3 edit 8523456 5%  1    1 edit 8524403 4%  1    1 edit 8524399 4%  1    1 edit 8523987 3%  1    1 edit 8524402 1%  0    0 edit 

clicking edit makes become this:

jul 2013 stat forecast sales brand 100           116   drop 80 %  testing insert 

i'm including getchildrelation, data_binder, , edit_command subs can see triggering greatgrandchild datalist. brevity, i'm not including headertemplate , itemtemplate working fine.

i continue use dataset method speed of presenting data fantastic.

any suggestions?

thanks,
rob

nested datalist snippet...

<asp:datalist id="dl_supply_plan_date_numbers_sp" runat="server"      cssclass="dp_dl_supply_plan_date_numbers_sp"      oneditcommand="edit_command"     onupdatecommand="update_command"     oncancelcommand="cancel_command"     datasource='<%# getchildrelation(container.dataitem, "fam_date_grandchild")%>'     >     <headertemplate> ... </headertemplate>     <itemtemplate> ... </itemtemplate>     <edititemtemplate>          <asp:label id="lbl_dat_dp_date_numbers_hidden" runat="server" cssclass="hidden"              text='<%#container.dataitem("dat_dp_date")%>' />         <asp:label id="lbl_txt_part_num_hidden" runat="server" cssclass="hidden"              text='<%#container.dataitem("txt_part_num")%>' />          <asp:label id="lbl_txt_family_part_num" runat="server" cssclass="sp_family_member"             text='<%#databinder.eval(container.dataitem,"txt_family_part_num")%>' />         <asp:label id="lbl_num_mix_weight" runat="server" cssclass="sp_family_member sp_mix"             text='<%#databinder.eval(container.dataitem,"num_mix_weight","{0:0%}")%>' />         <asp:label id="lbl_dp_unconstrained" runat="server" cssclass="sp_family_member sp_mix dp"             text='<%# display_supply_plan(eval("num_mix_weight"),eval("num_dp_number"),eval("num_brand_number"),0) %>' />         <asp:textbox id="tbx_num_sp_adjust" runat="server" cssclass="sp_family_member sp_mix sp-adjust"             text='<%#databinder.eval(container.dataitem,"num_sp_adjust")%>' />         <asp:label id="lbl_sp" runat="server" cssclass="sp_family_member sp_mix sp"             text='<%# display_supply_plan(eval("num_mix_weight"),eval("num_dp_number"),eval("num_brand_number"),eval("num_sp_adjust")) %>' />         <br />         <asp:linkbutton id="lnkupdate" runat="server" commandname="update">update</asp:linkbutton>         &nbsp;&nbsp;         <asp:linkbutton id="lnkcancel" runat="server" commandname="cancel">cancel</asp:linkbutton>      </edititemtemplate> </asp:datalist> 

code behind...

protected function getchildrelation(dataitem object, relation string) dataview     dim drv datarowview = trycast(dataitem, datarowview)     if drv isnot nothing         return drv.createchildview(relation)     else         return nothing     end if end function  sub data_binder()      dim strconn string = system.configuration.configurationmanager.connectionstrings("testconnectionstring").connectionstring      dim cat_fam_filter string = "where txt_family_category '" & ddl_family_category_name.selectedvalue & "' " _                                     & "and txt_family_name '" & ddl_family_name.selectedvalue & "'"      dim strsql string = "select * tbl_family " & cat_fam_filter & " order txt_family_category, txt_family_name ; " _                            & "select * func_display_demand_plan() " & cat_fam_filter & " order dat_dp_date; " _                            & "select * func_display_demand_plan() " & cat_fam_filter & " order dat_dp_date; " _                            & "select * func_display_supply_plan() " & cat_fam_filter & " " _                            & "order dat_dp_date, num_mix_weight desc "      dim conn new sqlconnection(strconn)     dim da new sqldataadapter(strsql, conn)     da.tablemappings.add("family1", "dates")     da.tablemappings.add("family2", "demand")     da.tablemappings.add("family3", "supply")      _ds = new dataset()      da.fill(_ds, "family")      _ds.relations.add("fam_date_parent", _ds.tables("family").columns("txt_family_name"), _ds.tables("dates").columns("txt_family_name"))     _ds.relations(0).nested = true     _ds.relations.add("fam_date_child", _ds.tables("dates").columns("famdatekey"), _ds.tables("demand").columns("famdatekey"))     _ds.relations(1).nested = true     _ds.relations.add("fam_date_grandchild", _ds.tables("demand").columns("famdatekey"), _ds.tables("supply").columns("famdatekey"), false)     _ds.relations(2).nested = true      dl_supply_plan.datasource = _ds.tables("family")     dl_supply_plan.databind()   end sub  sub edit_command(sender object, e datalistcommandeventargs)      dim dl_target datalist = directcast(sender, datalist)      dl_target.edititemindex = e.item.itemindex     dl_target.databind()  end sub 

since greatgrandchild being populated via datasource using container.dataitem grandchild datalist, attempt databind greatgrandchild datalist come empty. wasn't populating entire dataview appropriate datarowview.

my solution: create dataset parent, child, , grandchild , separate dataset greatgrandchild. greatgrandchild populated via grandchild's onitemdatabound event display purposes. then, able use same databind edit, cancel, , update/insert events well. standalone , working well.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -