сравнение старых значений с новым значением и обновление - PullRequest
0 голосов
/ 09 февраля 2011

ПРИМЕЧАНИЕ: я не реализовал вышеупомянутое решение, но закрываю этот вопрос и принимаю его как ответ, даже если я не реализую.

каков наилучший способ сделать? и я знаю, что могу хранить репитер в другом вар и сравнивать, но я просто хотел узнать элегантный способ работы.

вот мой for loop код, который я хочу сравнить и обновить значения, которые изменились, и игнорировать значения, которые не изменились

GridViewRow row = gv.SelectedRow;            
Repeater _rpt = gv.Rows[e.RowIndex].Cells[8].FindControl("rptReg") as Repeater; 
Repeater _rpt1 = gv.Rows[e.RowIndex].Cells[9].FindControl("rptVisitor") as Repeater; 

    for (int i = 0; i < _rpt.Items.Count; i++)   {       
         TextBox _txt = _rpt.Items[i].FindControl("txtId") as TextBox;       
         TextBox _txt1 = _rpt.Items[i].FindControl("txtName") as TextBox;     

        if (_rpt1.Items.Count > i)         
           TextBox _txt3 = _rpt1.Items[i].FindControl("txtVisitor") as TextBox;      
          //update db 
        }  
   }

1 Ответ

0 голосов
/ 09 февраля 2011

Это полный взлом, и я уверен, что есть более элегантный способ справиться с ним, но вы можете добавить туда скрытое поле и настроить элементы формы с помощью сценария onchange, чтобы обновить значение скрытого поля.Затем просто проверьте значение скрытого поля.

Надеюсь, у кого-то есть лучший способ сделать это, но если все остальное не поможет.

Если вы добавите класс в скрытое поле«hiddenIndicator» и вашим элементам формы «reasonChanged», то следующий Jquery должен делать то, что вы хотите:

$(document).ready(function() {
    $('input.causesChanged').change(function() {
        $(this)
            .closest('tr') // get the parent row
            .find("input.hiddenIndicator") // find children that match the selector
            .val('1'); //the value that indicates a change occured
    });
})

Я не тестировал этот код, но однажды я использовал нечто подобное в проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...