Скрыть столбец сетки данных с JavaScript?

pg_dump the_db_name > the_backup.sql

Затем скопируйте резервную копию на сервер разработки, восстановите с помощью:

psql the_new_dev_db < the_backup.sql
5
задан Chris W. Rea 3 July 2009 в 01:51
поделиться

5 ответов

Вы хотите использовать COLGROUP для выполнения это, иначе вам придется применить стиль к каждой ячейке в каждой строке, что будет ужасно неэффективным и, вероятно, приведет к зависанию браузера, особенно если ваша сетка большая. Все вышеупомянутые ответы, которые полагаются на стороннюю библиотеку (jQuery), делают это медленным / ленивым способом. Поскольку весь Javascript работает на стороне клиента, вы, вероятно, захотите немного больше подумать об эффективности.

Вот и все ...

function hideColumns(tableId, colIndexArray) {
  var tbl = document.getElementById(tableId);
  if(!tbl) return;

  var rows = tbl.getElementsByTagName("TBODY");

  if(rows.length == 0)
    rows = tbl.getElementsByTagName("TR");
  else
    rows = rows[0].getElementsByTagName("TR");

  var cols = rows[rows.length - 1].getElementsByTagName("TD");
  var colgroup = document.createElement("COLGROUP");

  for(var i = 0, l = cols.length; i < l; i++) {
    var col = document.createElement("COL");

    for(var num in colIndexArray) {
      if(colIndexArray[num] == i) {
        if(document.all)
          col.style.display = 'none'
        else
          col.style.visibility = 'collapse';

        break;
      }
    }

    colgroup.appendChild(col);
  }

  tbl.insertBefore(colgroup, tbl.childNodes[0]);
}

Используйте его вот так ...

var columnsToHide = [0, 1, 2]; // hide the first 3 columns
var tableId = "tableIdHere"; // view the source of your page to get this
hideColumns(tableId, columnsToHide);

Протестировано в IE7 и FF3: Скрыть столбцы таблицы с помощью Javascript

5
ответ дан 15 December 2019 в 06:32
поделиться

Используйте jquery, как предлагали другие ... селектор вроде это должно сделать это. По существу, это скроет столбец 3.

$('table.tableCSS tr').find('td:eq(2)').hide(); // eq(index)
-1
ответ дан 15 December 2019 в 06:32
поделиться

Используйте jQuery ! Это здорово.

Ваша ссылка может выглядеть так:

<a href="javascript:ToggleColumn();">Toggle My Column</a>

Ваша функция javascript может выглядеть так:

function ToggleColumn()
{
    $(".myColumn").toggle();
}

Каждая сгенерированная в нужном столбце должна иметь атрибут class = "myColumn", чтобы ваш javascript мог ее найти . Для этого вы можете добавить элемент в желаемый столбец вашей DataGrid, например:

<asp:TemplateColumn runat="server">
    <ItemStyle CssClass="myColumn" />
</asp:TemplateColumn>

И, наконец, не забудьте включить ссылку на jQuery в свой заголовочный файл, например это:

<script src="/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>

Вы можете загрузить jQuery здесь .

0
ответ дан 15 December 2019 в 06:32
поделиться

Посмотрите на этот плагин jQuery,

http://p.sohei.org/jquery-plugins/columnmanager/

Включите этот плагин на свою страницу и вызовите его одним щелчком мыши событие ссылки.

0
ответ дан 15 December 2019 в 06:32
поделиться

Мое личное мнение - использовать JQuery.

Используйте селекторы, чтобы найти столбец и добавить к стилю 'hidden: true'. Это чистое решение JS.

-1
ответ дан 15 December 2019 в 06:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: