My DataGrid nested DataList (unsolved)

xiaoxiao2021-03-06  65

I think my example and msdn (Saucer) version) are probably consistent, personal thinking out why my page's DLREPLYLIST is binding (after the editing button) will be "undefined value "of? As shown in the figure (upper half): Saucer version of the example, in the same breakpoint, the DataList instance itemslist is existing (lower half) page frame:

...
......

UpdateReply OnCancelCommand = CancelReply DataSource = '<% # GetReplyData ((int) DataBinder.Eval (Container.DataItem, "PostID"))%>'>

. .... ....... < EditItemTemplate>
......... ... < / ASP: DATALIST> <

Table id = "tbpostrikeordedit" bgcolor = "# dfdfdf" width = "100%"> ....... ......... Background code, see a colored part

using System; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using fiveXdotNet.BLL; namespace fiveXdotNet.Web {///

/ Summary of // Index.

/// public class index: ScrollPage {protected System.Web.UI.WebControls.Label lblName; protected System.Web.UI.WebControls.Label lblPostId; protected System.Web.UI.WebControls.Label lblPostTime; protected System.Web.UI.WebControls.Label lblContent; protected System.Web.UI.WebControls.Label lblPosterName; protected System.Web.UI.WebControls.Label lblReplyTime; protected System.Web.UI.WebControls.Label lblReplyContent; protected System. Web.UI.WebControls.DataGrid dgPostList; protected System.Web.UI.WebControls.DataList dlReplyList; protected System.Web.UI.HtmlControls.HtmlTextArea txaNewPost; protected DataSet _ds = new DataSet (); private void Page_Load (object sender, System . Eventargs e) {if (! Page.ispostback) {bind ();} // string s = this.request.form ["txanewpost"]; // string s01 = this.Request.form ["txt01"]; // String S02 = this.Request.form ["txanewpost"];} private void bind () {post.getallpost (ref _ds); dataview dvpostlist = new da taView (_ds.Tables [0], "PostType = 0", "PostID desc", DataViewRowState.CurrentRows); dgPostList.DataSource = dvPostList; dgPostList.DataBind ();} protected DataView GetReplyData (int iPostId) {DataView dvPostList = new DataView (_ds.tables [0], "posttype =" ipostid.tostring (), "postid", dataviewrowstate.currentrows; // dataview dvpostlist = new dataview (_ds.tables [0]); //dvpostlist.rowfilter = "PostType =" iPostId.ToString (); return dvPostList;} protected void TrunPage (object sender, DataGridPageChangedEventArgs e) {dgPostList.CurrentPageIndex = e.NewPageIndex; dgPostList.EditItemIndex =

-1; this.bind ();} protected void EditReply (object sender, System.Web.UI.WebControls.DataListCommandEventArgs e) {DataList dlReplyList = (DataList) sender; dlReplyList.EditItemIndex = e.Item.ItemIndex; dgPostList.EditItemIndex = -1; DataGridItem dgi = (DataGridItem) dlReplyList.Parent.Parent; int n = dgi.ItemIndex; int nPostID = (int) dgPostList.DataKeys [n]; Post.getAllPost (ref _ds); dlReplyList.DataSource = GetReplyData ( NPOSTID); DLReplyList.Database (); //dl.database (); //dlreplylist.edititeMindex = E.Item.itemindex; //this.dlreplyList = DL; //post.getallpost(ref_ds); // this .dlReplyList.DataSource = GetReplyData (22); //this.dlReplyList.DataBind (); //this.bind ();} protected void editPost (object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e) {dgPostList. EdititeMindex = E.Item.itemindex; this.bind ();} protected void addpost (object sender, system.web.ui.ImageClickevenTargs e) {// string scontent = this.txanewpost.value.tostring (); Why can't you use a programming method? String scontent = this.request.form ["txanewpost"]; // session ["classmateid"] = 1; post pos = new post (Convert.Toint 32 (Session ["ClassmateID"]), DateTime.now, 0, Scontent ); Post.add (); this.bind ();} public void deletePost (Object sender, DataGridCommandEventAndargs e) {int ipostid = convert.Toint32 (DGPostList.DataKeys [(int) E.Item.itemindex]); POST. Delete (iPostId); this.bind ();} public void DeleteReply (object sender, DataListCommandEventArgs e) {int iPostId = Convert.ToInt32 (dlReplyList.DataKeys [(int) e.Item.ItemIndex]); Post.Delete (iPostId );

转载请注明原文地址:https://www.9cbs.com/read-89081.html

New Post(0)
CopyRight © 2020 All Rights Reserved
Processed: 0.047, SQL: 9