2012-03-22 57 views
1

我想設計listview只允許編輯一行中的某些列根據同一行中另一列的值。我花了幾個小時嘗試許多事情並在網上進行研究,但無濟於事。我曾嘗試在EditTemplate中添加一個條件,並嘗試使用各種Listviews事件(如ItemEditing和ItemDataBound),但尚未成功。任何人都可以在正確的方向上指出我需要做什麼以及在哪裏?如何根據該行另一列中的值,在asp.net中的listview行中的某些列中進行編輯?

+0

上要編輯的行,而你沒有的那些應用不同的類名。之後使用JavaScript來啓用,禁用行。 – 2012-03-22 00:11:56

回答

1

我已經完成了這一點,只是隱藏一個文本框控件,並顯示我不想編輯的項目的標籤控件。

以下項目2只可編輯的項目1 =「1」:

<EditItemTemplate> 
    <tr> 
     <td> 
      <asp:LinkButton runat="server" ID="lnkUpdate" Text="Update" CommandName="Update" /> 
      <asp:LinkButton runat="server" ID="LinkButton1" Text="Cancel" CommandName="Cancel" /> 
     </td> 
     <td> 
      <asp:TextBox runat="server" id="Item1_txt" Text='<%# Eval("Item1") %>' /> 
     </td> 
     <td> 
      <asp:TextBox runat="server" id="Item2_txt" Text='<%# Eval("Item2") %>' Visible='<%# Eval("Item1") == "1" ? true : false %>' /> 
      <asp:Label runat="server" id="Item2_lbl" Text='<%# Eval("Item2") %>' Visible='<%# Eval("Item1") != "1" ? true : false %>' />     
     </td> 
    </tr> 
</EditItemTemplate> 
相關問題