[.NET] gridview 用ObjectDataSource時的控制項

看板Visual_Basic作者 (xopowo)時間11年前 (2014/07/30 15:37), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
請輸入專案類型(網站專案或者應用程式專案): WEB FORM 這裡有一個gridView,使用TemplateField 在上面會進行edit作業(觸發onRowEditing事件) <asp:TemplateField> <ItemTemplate> <asp:Label ID="lbl" runat="server" Text='<%# Eval("lbl") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="ddlEdit" runat="server"></asp:DropDownList> <asp:TextBox ID="tbEdit" runat="server" Text='<%# Eval("lbl") %>' Visible="false"></asp:TextBox> </EditItemTemplate> </asp:TemplateField> 我原本是用datatable在資料庫撈完資料後 再把gridView的datasource指定到dataTable 但是資料量大的時候就很慢 後來找到objectDataSource的方式可以控制資料傳輸只傳當下分頁的內容 可是,原本onRowEditing事件裡面有一個地方是要FindControl protected void gv_RowEditing(object sender, GridViewEditEventArgs e) { gv.EditIndex = e.NewEditIndex; ods.DataBind(); DropDownList ddl = (DropDownList)row.FindControl("ddlEdit"); ... 可是我改用objectDataSource時 他卻找不到控制項 我猜測是gridview沒有進入編輯模式導致它找不到EditItemTemplate 我試著在RowEditing事件裡找ItemTemplate的看看,結果還真的讀出來 所以問題在於 gv.EditIndex = e.NewEditIndex; 這一行指令為何在改用objectDataSource後 無法讓gridview進入編輯模式...? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.27.126 ※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1406705832.A.B5C.html

07/30 17:36, , 1F
最後改在DATABINDING事件處理這些了 解決了
07/30 17:36, 1F
文章代碼(AID): #1JsA2ejS (Visual_Basic)
文章代碼(AID): #1JsA2ejS (Visual_Basic)