2012-11-03 48 views
0
<asp:GridView ID="GridView1" runat="server"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="LinkButton1" runat="server" OnClick="lclick">Buy</asp:LinkButton> 
      </ItemTemplate> 
    <edititemtemplate> 
     <asp:Textbox runat="server" id="txt"/> 
    <edititemtemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

是否有可能在沒有edititem模板的情況下編輯GridView是否可以在沒有edititemtemplate的情況下編輯GridView單元格?

+1

您可以用JavaScript做的,所以YES! – codingbiz

+0

你試過了什麼?你究竟想要什麼?你實際上可以使用'Gridview的默認編輯按鈕'。

回答

0

我以前做過這個,我只能解釋我做了什麼

要確保我的編輯控件是視圖狀態的一部分,我添加了一個空的形式到我的頁面底部

<div id="myeditform"> 
    <table> 
    <tr> 
    <td><asp:HiddenField runat="server" ID="myRowId" /> 
    </td> 

    <td>... other controls </td> 

    <td>... Save button -- </td> 
    </tr> 
    <table> 
</div> 

的TR(S)必須匹配在網格中的列數,或者您可以使用colspan

然後

  • 使用jQuery或JavaScript獲取行(例如,點擊編輯鏈接的最近父項),
  • 獲取td(s)並將每個td的值傳遞給編輯表單中的相應控件。
  • 取代你<tr>與表的內容在你的編輯形式
  • 保存時被點擊,刷新頁面更新的GridView
+0

感謝您的詳細解答。這意味着,沒有Javascript/JQuery,這是不可能的? – Dylan

+0

是的沒有JavaScript,你必須去Asp.Net的方式,有EditItemTemplate(默認或自定義)。除了指定爲只讀的列以外,所有列都默認顯示文本框。要將下拉菜單和其他控件作爲編輯的一部分,您需要明確定義編輯項目模板。與Javascript版本唯一的區別是,除非單擊保存,否則不會回傳。你也可以使用jQuery來執行編輯模式和視圖模式之間的轉換 – codingbiz

+0

只是想確保我正確理解這一點......如果我有一個像下拉式的表單,並且我希望用戶能夠編輯值,*必須*,他們必須先點擊編輯按鈕? – Damon

相關問題