[.NET] gridview 用ObjectDataSource時的控制項
請輸入專案類型(網站專案或者應用程式專案):
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
07/30 17:36, 1F
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章