Вставка строк в Отношениях с помощью DataSet Со строгим контролем типов

Вы используете абсолютное расположение внутреннего отделения для расположения его относительно внешнего отделения, но Вы не хотите, чтобы его содержание рассчитало как внешнее содержание отделения. Для достижения этого необходимо разделить внутреннюю позицию отделения от внутреннего содержания отделения. Можно попытаться сделать это путем помещения содержания в фиксированное отделение

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head> <title>Test</title> </head>

<body>

<div style="position: relative; height: 100px; width: 100px; background: red; overflow: auto;">
        <div style="position: absolute; top: 20px; left: 20px; height: 10px; width: 10px;">
            <div style="position: fixed; height: 100px; width: 100px; background: green;"></div>
        </div>
</div>

</body>
</html>

, прием - то, что фиксированное отделение w/o возглавляет/понимает/оставляет/исправляет определенный, расположит себя в его "статическое" положение, которое, кажется, то, в чем Вы нуждаетесь.

у Вас могут быть проблемы с z-порядком, но от Вашего объяснения Вы действительно хотите, чтобы Ваше "меню" было выше всего остального. (Я предполагаю, что это приходит и уходит). Вы будете уверенный иметь проблемы при печати страницы - если будет больше чем одна страница, зафиксированный элемент повторяется.

Как jvenema указанный, это не будет работать в IE6.: (

6
задан Manuel Faux 25 August 2009 в 12:51
поделиться

3 ответа

О связи между В таблицах убедитесь, что выбрано «Ограничение как отношения, так и внешнего ключа», а для параметра «Правило обновления» установлено значение «Каскад». В сочетании с опцией «Обновить таблицу данных» на адаптере после вставки родительской строки обновленный идентификатор будет «каскадировать» взаимосвязи, предотвращая нарушения внешнего ключа в наборе данных. После этого ваши дочерние таблицы будут готовы для правильной вставки в базу данных.

4
ответ дан 17 December 2019 в 04:50
поделиться

Некоторые вещи, которые стоит попробовать:

При настройке tableadapter вы нажимали на дополнительные параметры и проверяли «Обновить таблицу данных», чтобы получить значение столбца идентификаторов?

Иногда я либо забывал его проверить, либо конфигурация сохранялась неправильно, потому что по какой-то причине у меня не было задано приращение / начальное значение идентификатора таблицы. Вы используете инкремент идентичности в таблице?

Вы также можете подумать о том, чтобы просто воссоздать адаптеры для этих двух таблиц.

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

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

1
ответ дан 17 December 2019 в 04:50
поделиться

Нужно сообщить в таблице-адаптере вашей родительской таблицы, чтобы она обновила таблица данных после операции обновления. Вот как это можно сделать.

  1. Откройте свойства ProgramUserGroupTableAdapter -> Default Select Query -> Advnaced options. и отметьте опцию Refresh the data table. Сохраните адаптер сейчас. Теперь при вызове обновления по табличному адаптеру таблица данных будет обновлена [refrehed] после операции обновления и будет отражать последние значения из таблицы базы данных. если первичный ключ или любой столбец установлен на автоинкремент, таблица данных будет содержать последние значения после последнего обновления.

  2. Теперь вы можете вызвать обновление как pug.Update(dsUserGroup.ProgramUserGroup);

  3. Считайте последние значения из столбцов ProgramUserGroup и назначьте соответствующие значения в дочернюю таблицу перед обновлением. Это будет работать именно так, как вы хотите.

alt text http://ruchitsurati.net/files/tds1.png

0
ответ дан 17 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

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