2016-12-29 6 views
0

У меня есть GridView на веб-форме ASP.NET. Этот GridView привязан к SQLDataSource. Все столбцы: TemplateField. GridView находится внутри UpdatePanel. Одна из столбцов: DropDownList. HTML для этого DropDownList выглядит следующим образом:Почему свойство Gridview backgroundcolor не сохраняется при нажатии кнопки ссылки в поле шаблона

<asp:DropDownList ID="DropDownList1" onchange="buildDropDown(this)" runat="server" Text='<%# Bind("[r_cal_M]") %>'> 
    <asp:ListItem></asp:ListItem> 
    <asp:ListItem>2016-09</asp:ListItem> 
    <asp:ListItem>2016-10</asp:ListItem> 
    <asp:ListItem>2016-11</asp:ListItem> 
    <asp:ListItem>2016-12</asp:ListItem> 
</asp:DropDownList> 

JavaScript для buildDropDown() Функция:

function buildDropDown(obj) { 
    var status = obj.options[obj.selectedIndex].value; 
    var row = obj.parentNode.parentNode; 
    var rowIndex = row.rowIndex - 1; 

    var ddlReason = row.cells[1].getElementsByTagName('SELECT')[0]; 

    switch (status) { 
     case "": 
      row.style.backgroundColor = "rgb(255, 255, 255)"; 
      row.style.color = "rgb(0, 0, 0)"; 
      break; 
     case "2016-09": 
      row.style.backgroundColor = "rgb(198, 239, 206)"; 
      row.style.color = "rgb(0, 97, 0)"; 
      break; 
     case "2016-10": 
      row.style.backgroundColor = "rgb(1255, 199, 206)"; 
      row.style.color = "rgb(156, 0, 6)"; 
      break; 
     case "2016-11": 
      row.style.backgroundColor = "rgb(255, 235, 156)"; 
      row.style.color = "rgb(156, 101, 0)"; 
      break; 
     case "2016-12": 
      row.style.backgroundColor = "rgb(255, 255, 255)"; 
      row.style.color = "rgb(0, 0, 0)"; 
      break; 
    } 
} 

приложение работает нормально, но когда я нажимаю кнопку обновления в GridView цвет ряда меняется возвращение товара с целью.

Как это исправить?

ответ

0

попробовать это работает отлично

<script type="text/javascript"> 
     function buildDropDown(obj) { 

    var status = obj.options[obj.selectedIndex].value; 
    var row = obj.parentNode.parentNode; 
    var rowIndex = row.rowIndex - 1; 

    switch (status) { 
     case "": 
      row.parentNode.parentNode.style.backgroundColor = "rgb(255, 255, 255)"; 
      row.parentNode.parentNode.style.color = "rgb(0, 0, 0)"; 
      break; 
     case "2016-09": 
      row.parentNode.parentNode.style.backgroundColor = "rgb(198, 239, 206)"; 
      row.parentNode.parentNode.style.color = "rgb(0, 97, 0)" 
      break; 
     case "2016-10": 
      row.parentNode.parentNode.style.backgroundColor = "rgb(1255, 199, 206)"; 
      row.parentNode.parentNode.style.color = "rgb(156, 0, 6)"; 
      break; 
     case "2016-11": 
      row.parentNode.parentNode.style.backgroundColor = "rgb(255, 235, 156)"; 
      row.parentNode.parentNode.style.color = "rgb(156, 101, 0)"; 
      break; 
     case "2016-12": 
      row.parentNode.parentNode.style.backgroundColor = "rgb(255, 255, 255)"; 
      row.parentNode.parentNode.style.color = "rgb(0, 0, 0)"; 
      break; 
    } 
    } 
</script> 
+0

@Danish Parvadia Спасибо, за ваш быстрый ответ. Это неправильно. Ваш код окрашивает весь GridView, а цветные кнопки - на черный на белом фоне, если я нажму кнопку «Обновить». – TheDProgrammer

+0

надеюсь, что у вас все в порядке, я все еще жду ответа на это. С уважением. – TheDProgrammer