2011-12-14 101 views
0

我正在處理一個asp.net應用程序,我可以將數據從SQL加載到aspx頁面中的gridview。用戶可以編輯和保存gridview中的值。 我的網格視圖有項目模板,我有兩個文本框colums。我想突出顯示用戶在gridview中編輯的不同顏色的所有單元格。更改asp.net中gridview內部文本框的背景顏色?

我能夠做的文本框同樣的事情在另一個aspx頁面用了與下面的代碼Java腳本的GridView:

<script type="text/javascript"> 


     $(document).ready(function() { 

      $(':input').change(function() { 

       $(this).addClass("textchanged"); 

      }); 

     }); 

    </script> 



<asp:GridView runat="server" ID="gvnames" AutoGenerateColumns="False" CellPadding="4" 
      Font-Names="Georgia" ForeColor="Black" GridLines="Vertical" BackColor="White" 
      BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" DataKeyNames="Name" 
      DataSourceID="SqlDataSource1" 
      > 
      <RowStyle BackColor="#F7F7DE" /> 
<colums> 
    <asp:TemplateField HeaderText="Name"> 
         <ItemTemplate> 
          <asp:Label ID="lblName" Visible='<%# !(bool) IsInEditMode %>' runat="server" 
           Text='<%# Eval("Name") %>' /> 
          <asp:TextBox ID="txtName" Width="250px" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Eval("Name") %>' /> 
         </ItemTemplate> 
        </asp:TemplateField> 
</colums> 
    <FooterStyle BackColor="#CCCC99" /> 
      <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" /> 
      <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" /> 
      <AlternatingRowStyle BackColor="White" /> 
     </asp:GridView> 

當我試圖實現內部文本框相同的代碼網格視圖不起作用。 是正確的方法還是有任何其他方式來實現? 如果有人能指導我正確的道路,我將不勝感激。

+0

你的代碼工作。你應該在其他地方尋找問題。 jQuery能否在頁面上正確運行? – AGuyCalledGerald 2011-12-14 14:53:53

+0

是的,我仍然在搞清楚問題在哪裏......我有一個內容佔位符,我放置了腳本。我確實在面板中包含了gridview。面板有一些與此有關的事情? – Macnique 2011-12-14 15:00:17

回答

2

我認爲你應該刪除:那是在你的jQuery中輸入的單詞的前面。此外,如果這種情況應該只是一個發生在文本框,那麼你應該在你的jQuery選擇更具體,它改成這樣:

$('input[type=text]') 
0

在您的標記,請更換

<colums><colums> 

- 標籤,以

<Columns></Columns> 

這應該可以幫助,如果jQuery的正常運行