0 / 0 / 1
Регистрация: 23.11.2008
Сообщений: 90

Как при наступлении какого-то события печатать только нужную часть документа?

12.06.2010, 17:49. Показов 1855. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как при наступлении какого-то события печатать только нужную часть документа?

При нажатии одной кнопки допустим печатать одни строки таблицы, при нажатии другой - другие, а при первой загрузке документа все.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2010, 17:49
Ответы с готовыми решениями:

Действие при наступлении определённого события
Добрый день. Интересует такой вопрос: Допустим, я сделал форму с кнопкой. Можно ли сделать так, чтобы при нажатии на кнопку программа...

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

Скрытие ComboBox при наступлении события
Здравствуйте! Прошу, пожалуйста, объяснить мне. У меня имеется форма, на которой выполняется добавление, редактирование, удаление записей...

10
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
12.06.2010, 19:20
А вы пробовали это делать? если нет, то почему бы не попробовать сделать хотя бы что то?
0
0 / 0 / 1
Регистрация: 23.11.2008
Сообщений: 90
12.06.2010, 19:24  [ТС]
я не знаю с какой стороны подойти:-)
Трудно с javaScriptom
0
0 / 0 / 1
Регистрация: 23.11.2008
Сообщений: 90
12.06.2010, 19:55  [ТС]
На основе примера что обсуждался ранее вот что получилось:

Но у меня будут очень большие таблицы и так будет очень громозко, надо наверное как-то облегчить с помощью массиво и циклов, подскажите как.
<html>
<body>

<input type=checkbox checked onclick='if (this.checked) {htr2.style.display='block'htr.style.dis play='block'} else {htr2.style.display='none'htr.style.disp lay='none'} '> UA-RUS

<input type=checkbox checked onclick='if (this.checked) {htr3.style.display='block'htr4.style.di splay='block'} else {htr3.style.display='none'htr4.style.dis play='none'} '> UA-F

<table border=1>
<tr><td>TR: </td><td>Информация</td></tr>
<tr id=htr><td>UA-RUS</td><td>Информация</td></tr>
<tr id=htr2><td>UA-RUS</td><td>Информация</td></tr>
<tr id=htr3><td>UA-F</td><td>Информация</td></tr>
<tr id=htr4><td>UA-F</td><td>Информация</td></tr>
<tr><td>TR: </td><td>Информация</td></tr>
</table>
</body>
</html>
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
12.06.2010, 20:00
учи серверный язык
0
0 / 0 / 1
Регистрация: 23.11.2008
Сообщений: 90
12.06.2010, 20:15  [ТС]
PHP знаю более менее
подскажите как написать функцию которая бы в цикле делала что мне нужно
0
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
12.06.2010, 21:02
передавай гет переменную с количеством нужных ячеек, потом циклом выстраивай вставляя свои куски яваскрипта, вот и всё
0
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
13.06.2010, 08:11
Примерно так, исходя из вашего кода
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<html>
<script language='JavaScript'>
    var arr = new Array ('htr', 'htr2', 'htr3', 'htr4');
    var arr2 = new Array ('htr5', 'htr6', 'htr7', 'htr8');
function foo()
    {
        for (i=0; i<arr.length; i++)
            {
            if (document.all.checkbox1.checked)
                {document.getElementById(arr[i]).style.display = 'block'}
            else {document.getElementById(arr[i]).style.display = 'none'}
            }
    }
function foo2()
    {
        for (i=0; i<arr2.length; i++)
            {
            if (document.all.checkbox2.checked)
                {document.getElementById(arr2[i]).style.display = 'block'}
            else {document.getElementById(arr2[i]).style.display = 'none'}
            }
    }
</script>
<body>
 
<input type=checkbox checked name='checkbox1' onclick='javascript: foo()'> UA-RUS
 
<input type=checkbox checked name='checkbox2' onclick='javascript: foo2()'> UA-F
 
<table border=1>
<tr><td>TR: </td><td>Информация</td></tr>
<tr id=htr><td>UA-RUS</td><td>Информация</td></tr>
<tr id=htr2><td>UA-RUS</td><td>Информация</td></tr>
<tr id=htr3><td>UA-F</td><td>Информация</td></tr>
<tr id=htr4><td>UA-F</td><td>Информация</td></tr>
<tr id=htr5><td>UA-RUS</td><td>Информация</td></tr>
<tr id=htr6><td>UA-RUS</td><td>Информация</td></tr>
<tr id=htr7><td>UA-F</td><td>Информация</td></tr>
<tr id=htr8><td>UA-F</td><td>Информация</td></tr>
<tr><td>TR: </td><td>Информация</td></tr>
</table>
</body>
</html>
0
0 / 0 / 1
Регистрация: 23.11.2008
Сообщений: 90
13.06.2010, 14:54  [ТС]
Супер все работает.
Спасибо!

А можно ли сделать еще так чтобы был общий checkbox который снимает пометку с этих и убирает ненужные строки в то же время?
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
13.06.2010, 14:59
Используя события onbeforeprint и onafterprint доступные в MSIE можно решить эту задачу только средствами JavaScript.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html><head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<title>onbeforeprint/onafterprint</title>
<script type='text/javascript'>
function prepare(hide)
{
    var tbl = document.getElementById('tbl');
    var rows = tbl.childNodes[0].childNodes;
    for (var i=0; i<rows.length; i++)
    {
        if (i%2) rows[i].style.display = hide ? 'none' : 'block';
    }
}
</script>
</head>
<body onbeforeprint='prepare(true)' onafterprint='prepare(false)'>
<table border=1 id='tbl'>
<tr><td>01 TR: </td><td>Информация</td></tr>
<tr><td>02 UA-RUS</td><td>Информация</td></tr>
<tr><td>03 UA-RUS</td><td>Информация</td></tr>
<tr><td>04 UA-F</td><td>Информация</td></tr>
<tr><td>05 UA-F</td><td>Информация</td></tr>
<tr><td>06 UA-RUS</td><td>Информация</td></tr>
<tr><td>07 UA-RUS</td><td>Информация</td></tr>
<tr><td>08 UA-F</td><td>Информация</td></tr>
<tr><td>09 UA-F</td><td>Информация</td></tr>
<tr><td>10 TR: </td><td>Информация</td></tr>
</table>
</body></html>
0
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
13.06.2010, 15:14
В скрипт я просто добавил функцию
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function foo3()
    {
        if (document.all.checkbox1.checked)
            {document.all.checkbox1.checked=false;
            document.all.checkbox2.checked=false;
            foo();
            foo2();     
            }
        else {
            document.all.checkbox1.checked=true;
            document.all.checkbox2.checked=true;
            foo();
            foo2(); 
            }
    }
и еще один checkbox
Code
1
<input type=checkbox checked name='checkbox3' onclick='javascript: foo3()'>main
наверно можно сделать и по лучше, но и это работает нормально
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2010, 15:14
Помогаю со студенческими работами здесь

Выход из цикла при наступлении события
Я знаю WinAPI довольно плохо, но вопрос такой: допустим у нас есть бесконечный цикл: for (int i = 0; i &lt;1;) { //тут какие то...

Оповестить сразу все бэкэнды при наступлении события
Хочу сделать Comet сервер на Tornado. Планирую запустить его столько копий сколько ядре,как и советуют в документации. Всё было бы...

Проигрывание звуков в приложении при наступлении определенного события
Есть фоновая музыка begin fsound := new System.Media.SoundPlayer; // fsound.SoundLocation:='sm.wav'; fsound.Play; end. Как...

Автоматическая рассылка почты при наступлении определенного события
Есть база данных, которая генерится при помощи Code First В ней есть таблица Счета. У каждого счета есть конечная дата(до когда его надо...

Delphi Word - надписи, перемещение курсора на нужную мне часть документа
Доброго времени суток, пишу дипломную и тут нужно автоматизировать печатание диплома. Есть пример того, что должно получиться: (документы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru