Как я могу найти проверенные строки в YUI DataTable? - PullRequest
3 голосов
/ 11 июня 2010

Я использую таблицу данных YUI со столбцом флажка, например так:

var myColumnDefs = [
    {key:"check", label:'', formatter:"checkbox"},                               
    {other columns...}
];

Как я могу перебрать все проверенные строки?

ОБНОВЛЕНИЕ:

Вот мое текущее решение:

function getCheckedIds() {
    var records = yuiDataTable.getRecordSet().getRecords();
    var ids = '';

    for (i=0; i < records.length; i++) {
        var checked = false;
        if (records[i] != undefined)
        {
            checked = $('#' + records[i].getId() + ' td div.yui-dt-liner input.yui-dt-checkbox').attr('checked');
            if (checked) {
                if (ids != '') {
                    ids += ',';
                }
                ids += records[i].getData("item.id");
            }
        }
    }
    return ids;    
}

1 Ответ

2 голосов
/ 22 июня 2010

Лучшим подходом может быть подписка на checkboxClickEvent объекта Datatable, а затем, когда флажок установлен (или не выбран), программно пометить строку как выбранную, используя метод selectRow / unselectRow объекта Datatable. Если вы сделаете это, он будет выглядеть лучше в пользовательском интерфейсе (строки выделены), и будет легко получить выбранные строки, используя метод getSelectedRows объекта Datatable.

...