Печать только текстовой области

Я бы удалил виртуальные коллекции и объекты из всех трех классов, а затем удалил поле Id (при условии, что это первичный ключ) в таблице OrganisationLocations. Поля OrganisationId и LocationId в OrganisationLocations должны быть как первичными ключами, так и внешними ключами, чтобы сделать связь «многие ко многим» между OrganisationLocations, Locations и Organization. Затем вы можете использовать Linq, чтобы выполнить простой запрос на соединение, чтобы получить информацию, которую вы ищете. Например:

            var orgs = (from ol in PfApiContext.OrganisationLocations
                        inner join o in PfApiContext.Organisation on o.Id equals ol.OrganisationId
                        inner join l in PfApiContext.Locations on ol.LocationId equals l.Id
                        where ol.LocationId = 1
                        select new Organisation()
                        {
                            Id = o.Id,
                            Name = o.Name,
                            Owner = o.Ower,
                            etc...

                        }
6
задан torial 7 November 2008 в 17:10
поделиться

6 ответов

Сделайте таблицу стилей печати, где все элементы кроме текстовой области установлены в CSS отобразиться:ничего;, и для текстовой области, переполнения: видимый.

Свяжите его со страницей с тегом link в наборе заголовка к медиа = "печать".

Вы сделаны.

6
ответ дан 8 December 2019 в 18:43
поделиться

Если пользователь нажимает "Print", Вы могли бы открыть новое окно только с содержанием текстовой области на пустой странице и начатой печати оттуда, то закрыть то окно.

Обновление: Я думаю, что предлагаемыми решениями CSS являются, вероятно, лучшие стратегии, но если кому-либо нравится это предложение, они могут все еще upvote оно.

2
ответ дан 8 December 2019 в 18:43
поделиться

Сделайте другой CSS с набором носителей для печати

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

http://webdesign.about.com/cs/css/a/aa042103a.htm

3
ответ дан 8 December 2019 в 18:43
поделиться

Я пошел бы для комбинации других предложений.

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

Та кнопка открыла бы новое окно, с меню/хромом и т.д. и клонировала бы содержание текстовой области только (и или обеспечила бы файл CSS печати),

1
ответ дан 8 December 2019 в 18:43
поделиться

Я сделал печатные СМИ CSS для сокрытия многих полей. Проблема была осложнена тем, что я использовал nicEdit, который динамично создает IFRAME. Таким образом, я должен был добавить событие, которое взяло onblur события и скопировало их в скрытое (за исключением печати), Отделение "divtext" является hiddent Отделением, и "storyText" является TextArea.

textarea {
  display: none;
}

*/ #divtext {
  display: block;
}

div, DIV {
  border-style: none !important;
  float: none !important;
  overflow: visible !important;
  display: inline !important;
}

/* disable nearly all styles -- especially the nicedit ones! */

#nav-wrapper, #navigation, img, p.message, .about, label, input, button, #nav-right, #nav-left, .template, #header, .nicEdit-pane, .nicEdit-selected, .nicEdit-panelContain, .nicEdit-panel, .nicEdit-frame {
  display: none !important;
}

/*hide Nicedit buttons    */

.nicEdit-button-active, .nicEdit-button-hover, .nicEdit-buttonContain, .nicEdit-button, .nicEdit-buttonEnabled, .nicEdit-selectContain, .nicEdit-selectControl, .nicEdit-selectTxt {
  display: none !important;
}

Код JavaScript для nicEdit:

<script type="text/javascript" src="/media/nicEdit.js"></script>
<script type="text/javascript">
  bkLib.onDomLoaded(function () {
    var nic = new nicEditor({
      fullPanel: true
    }).panelInstance('storyText');

    document.getElementById("storyText").nic = nic;
    nic.addEvent('blur', function () {
      document.getElementById("storyText").value = 
      nic.instanceById('storyText').getContent();
      document.getElementById("divtext").innerHTML = nic.instanceById('storyText').getContent();
    });
  });
</script>
1
ответ дан 8 December 2019 в 18:43
поделиться

Произошло ли переполнение: visible; на textarea действительно работает для любого из вас? FF3, похоже, игнорирует это правило для текстового поля в печатных листах. Не то чтобы это ошибка или что-то в этом роде.

0
ответ дан 8 December 2019 в 18:43
поделиться
Другие вопросы по тегам:

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