Как получить свойства динамич. созд. контролов с клиента?
От:
Аноним
Дата:
11.12.07 12:19
Оценка:
динамически создаю таблицу и наполняю её текстом. потом требуется узнать высоту строк. она все время разная. но на серверную сторону это не передается. может кто нибудь сталкивался? облазил уже все что только можно. есть преположение что я изначально на неправильном пути и это вообще не понадобиться. но все равно хотелось бы знать возможно ли это сделать?
Re: Как получить свойства динамич. созд. контролов с клиента
Здравствуйте, Аноним, Вы писали:
А>динамически создаю таблицу и наполняю её текстом. потом требуется узнать высоту строк. она все время разная. но на серверную сторону это не передается. может кто нибудь сталкивался? облазил уже все что только можно. есть преположение что я изначально на неправильном пути и это вообще не понадобиться. но все равно хотелось бы знать возможно ли это сделать?
javascript с вариациями. на событие load на клиенте любым способом отсылаешь серверу информацию о высоте строк. Но! Почему Вас это интересует.
Re[2]: Как получить свойства динамич. созд. контролов с клие
От:
Аноним
Дата:
12.12.07 13:17
Оценка:
Здравствуйте, Kvazimodo75, Вы писали:
K>Здравствуйте, Аноним, Вы писали:
А>>динамически создаю таблицу и наполняю её текстом. потом требуется узнать высоту строк. она все время разная. но на серверную сторону это не передается. может кто нибудь сталкивался? облазил уже все что только можно. есть преположение что я изначально на неправильном пути и это вообще не понадобиться. но все равно хотелось бы знать возможно ли это сделать?
K>javascript с вариациями. на событие load на клиенте любым способом отсылаешь серверу информацию о высоте строк. Но! Почему Вас это интересует.
вощем не ругайтесь, но смысл таков:
я считываю данные из БД из разных таблиц из MS SQL Server . вот. и потом динамически создаю <table> и загоняю туда считанные данные. далее мне надо чтобы в каждой строчке был checkbox и еще textbox с calendarextender (ajax). чтоб потом обоих можно было изменять и опять в базу заносить.(кстати как считать то что ввел для меня тоже загадка. слыхал про какой то Request.Form, но как им правильно пользоваться так и не нашел) их соответственно тоже создаю динамически, но чтобы знать координаты — нужно знать высоту строк, т.к. она все время разная для каждой строки и зависит от длины помещаемой в ячейку строки.
я знаю о существовании компонента DataList и RIPeater . но никак не могу с ним разобраться... в DataList если я располагаю поля так как мне надо — каждая строчка печатается на одном и том же месте. происходит накладка. в рипитере вообще ничего не понимаю. нужен туториал. если у кого есть может уже рабочий пример небольшой — буду благодарен. щас конечно еще в гугле поищу...
спасибо за внимание.
PS и вообще, прочитав все что написал, понял что являюсь злостным ламером, отнимающим у всех время. обычно ищу все интернете или делаю сам как знаю, но вот щас действительно попал в тупик, а сроки жмут и держит тока реализация. интерфейс и алгоритмы уже давно все составил... прошу помощи.
Re[3]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, Аноним, Вы писали:
А>вощем не ругайтесь, но смысл таков:
Буду. Потому что Request.Form знать обязательно и отличать его от Request.QueryString за пол секунды.
А> но чтобы знать координаты — нужно знать высоту строк,
Зачем знать координаты?
А> т.к. она все время разная для каждой строки и зависит от длины помещаемой в ячейку строки.
Естественно.
А>я знаю о существовании компонента DataList и RIPeater . но никак не могу с ним разобраться... в DataList если я располагаю поля так как мне надо — каждая строчка печатается на одном и том же месте. происходит накладка. в рипитере вообще ничего не понимаю. нужен туториал.
туториал
А>спасибо за внимание.
А>PS и вообще, прочитав все что написал, понял что являюсь злостным ламером, отнимающим у всех время.
Самокритика — первый шаг к исправлению
Re[4]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, Kvazimodo75, Вы писали:
А>> но чтобы знать координаты — нужно знать высоту строк,
K>Зачем знать координаты?
ну чтобы checkbox'ы вставлять в нужные места! т.е. нужно вставлять checkbox в каждую создаваемую строку. координаты каждой строки разные. или может есть возможность при добавлении строки узнать её координаты? или может можно прямо прямиком в ячейку <table> добавлять контролы и там уже указывать координаты?
(зы зарегился. это я же)
Re[5]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, corpse56, Вы писали:
C>ну чтобы checkbox'ы вставлять в нужные места! т.е. нужно вставлять checkbox в каждую создаваемую строку. координаты каждой строки разные. или может есть возможность при добавлении строки узнать её координаты? или может можно прямо прямиком в ячейку <table> добавлять контролы и там уже указывать координаты?
Да не нужно ничего указывать. Просто помещаешь свой контрол в ячейку таблицы, а браузер сам спозиционирует как нужно.
Re[3]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, Аноним, Вы писали:
А>я считываю данные из БД из разных таблиц из MS SQL Server . вот. и потом динамически создаю <table> и загоняю туда считанные данные. далее мне надо чтобы в каждой строчке был checkbox и еще textbox с calendarextender (ajax). чтоб потом обоих можно было изменять и опять в базу заносить.(кстати как считать то что ввел для меня тоже загадка. слыхал про какой то Request.Form, но как им правильно пользоваться так и не нашел) их соответственно тоже создаю динамически, но чтобы знать координаты — нужно знать высоту строк, т.к. она все время разная для каждой строки и зависит от длины помещаемой в ячейку строки.
А>я знаю о существовании компонента DataList и RIPeater . но никак не могу с ним разобраться... в DataList если я располагаю поля так как мне надо — каждая строчка печатается на одном и том же месте. происходит накладка. в рипитере вообще ничего не понимаю. нужен туториал. если у кого есть может уже рабочий пример небольшой — буду благодарен. щас конечно еще в гугле поищу...
А>спасибо за внимание.
А>PS и вообще, прочитав все что написал, понял что являюсь злостным ламером, отнимающим у всех время. обычно ищу все интернете или делаю сам как знаю, но вот щас действительно попал в тупик, а сроки жмут и держит тока реализация. интерфейс и алгоритмы уже давно все составил... прошу помощи.
Если студия 2005 — кидаешь на форму DataGrid, при селектировании контрола справа вверху будет мальенький треугольничек — нажмешь, появится менюшка, создай DataSource, автоматом в грид добавятся столбцы. В том-же меню из треугольничка выбери пункт редактирования колонок, и нужеые сделай TemplatedField — справа внизу под табличкой свойств есть кнопка-ссылка "Сделать этот столбец temmplate". Можно добавить столбец — combo, сцылку, и т.п. Почитай про DataGrid. Мощная штука.
Все.
Потом в том же меню из треуголничка редактируй темплэйты — там можно контролы выкладывать.
- Вы знаете — жаль, просто по-человечески жаль Памелу Андерсон, которая никогда не сможет сыграть на баяне...
Re[6]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, corpse56, Вы писали:
C>>ну чтобы checkbox'ы вставлять в нужные места! т.е. нужно вставлять checkbox в каждую создаваемую строку. координаты каждой строки разные. или может есть возможность при добавлении строки узнать её координаты? или может можно прямо прямиком в ячейку <table> добавлять контролы и там уже указывать координаты?
L>Да не нужно ничего указывать. Просто помещаешь свой контрол в ячейку таблицы, а браузер сам спозиционирует как нужно.
спасибо! помогло! я до этого пытался сделать так, но вместо правильного:
Checkboxes[i] = new CheckBox();
holder.Controls.Add(Checkboxes[i]);
Table1.Rows[i + 1].Cells[0].Controls.Add(Checkboxes[i]);
писал
Checkboxes[i] = new CheckBox();
Table1.Rows[i + 1].Cells[0].Controls.Add(Checkboxes[i]);
holder.Controls.Add(Checkboxes[i]);
терь все супер. осталось мне выяснить как определить какие значения у этих сheckbox'ов после того как нажимаешь на кнопку и страница обновляется. Kvazimodo75 говорит что мне поможет Request.Form[]. тем про это в инете полно, так что думаю что разберусь. я тока единственное не понял какой ID указывать? свой или клиентский? интуиция подсказывает, что клиентский. тогда можно ли переименовать клиентский для удобства?
всем спасибо!
Re[4]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, Saddam, Вы писали:
S>Здравствуйте, Аноним, Вы писали:
А>>я считываю данные из БД из разных таблиц из MS SQL Server . вот. и потом динамически создаю <table> и загоняю туда считанные данные. далее мне надо чтобы в каждой строчке был checkbox и еще textbox с calendarextender (ajax). чтоб потом обоих можно было изменять и опять в базу заносить.(кстати как считать то что ввел для меня тоже загадка. слыхал про какой то Request.Form, но как им правильно пользоваться так и не нашел) их соответственно тоже создаю динамически, но чтобы знать координаты — нужно знать высоту строк, т.к. она все время разная для каждой строки и зависит от длины помещаемой в ячейку строки.
А>>я знаю о существовании компонента DataList и RIPeater . но никак не могу с ним разобраться... в DataList если я располагаю поля так как мне надо — каждая строчка печатается на одном и том же месте. происходит накладка. в рипитере вообще ничего не понимаю. нужен туториал. если у кого есть может уже рабочий пример небольшой — буду благодарен. щас конечно еще в гугле поищу...
А>>спасибо за внимание.
А>>PS и вообще, прочитав все что написал, понял что являюсь злостным ламером, отнимающим у всех время. обычно ищу все интернете или делаю сам как знаю, но вот щас действительно попал в тупик, а сроки жмут и держит тока реализация. интерфейс и алгоритмы уже давно все составил... прошу помощи. S>Если студия 2005 — кидаешь на форму DataGrid, при селектировании контрола справа вверху будет мальенький треугольничек — нажмешь, появится менюшка, создай DataSource, автоматом в грид добавятся столбцы. В том-же меню из треугольничка выбери пункт редактирования колонок, и нужеые сделай TemplatedField — справа внизу под табличкой свойств есть кнопка-ссылка "Сделать этот столбец temmplate". Можно добавить столбец — combo, сцылку, и т.п. Почитай про DataGrid. Мощная штука. S>Все. S>Потом в том же меню из треуголничка редактируй темплэйты — там можно контролы выкладывать.
класс! буду пользоваться конечно в будущем 100%, но мне сейчас это не подходит, потому что DataGrid к сожалению не поддерживает слияние ячеек...
Re[4]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, Kvazimodo75, Вы писали:
K>Здравствуйте, Аноним, Вы писали:
А>>вощем не ругайтесь, но смысл таков:
K>Буду. Потому что Request.Form знать обязательно и отличать его от Request.QueryString за пол секунды.
А>> но чтобы знать координаты — нужно знать высоту строк,
K>Зачем знать координаты?
А>> т.к. она все время разная для каждой строки и зависит от длины помещаемой в ячейку строки.
K>Естественно.
А>>я знаю о существовании компонента DataList и RIPeater . но никак не могу с ним разобраться... в DataList если я располагаю поля так как мне надо — каждая строчка печатается на одном и том же месте. происходит накладка. в рипитере вообще ничего не понимаю. нужен туториал.
K>туториал
А>>спасибо за внимание.
А>>PS и вообще, прочитав все что написал, понял что являюсь злостным ламером, отнимающим у всех время.
K>Самокритика — первый шаг к исправлению
огромное спасибо за туториал. было дело попадал и на этот сайт — msdn2 — но как то не оценил его сначала. пользовался локальным msdn.
Re[2]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, Kvazimodo75, Вы писали:
K>Здравствуйте, Аноним, Вы писали:
А>>динамически создаю таблицу и наполняю её текстом. потом требуется узнать высоту строк. она все время разная. но на серверную сторону это не передается. может кто нибудь сталкивался? облазил уже все что только можно. есть преположение что я изначально на неправильном пути и это вообще не понадобиться. но все равно хотелось бы знать возможно ли это сделать?
K>javascript с вариациями. на событие load на клиенте любым способом отсылаешь серверу информацию о высоте строк. Но! Почему Вас это интересует.
со строками разобрался. все получилось так, как я хочу. теперь вот еще какая штука: теперь мне под этой динамически созданной таблицей с неизвестной высотой необходимо расположить кнопку. вот как узнать какие координаты там где сразу заканчивается таблица? только способом который Вы, указали? в этом способе мне не понятно вот что:
K>отсылаешь серверу информацию о высоте строк.
как ее получить для начала? тоже с помощью javascript?
спасибо за внимание.
Re[7]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, corpse56, Вы писали:
L>>Да не нужно ничего указывать. Просто помещаешь свой контрол в ячейку таблицы, а браузер сам спозиционирует как нужно.
C>спасибо! помогло!
Для спасибо есть кнопка.
Re[3]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, Дюша, Вы писали:
Д>Здравствуйте, corpse56, Вы писали:
C>>как ее получить для начала? тоже с помощью javascript?
Д>Забудьте про абсолютное позиционирование (координаты). Сделайте разметку страницы. Например, таблицами. Примитив тут: Д>
Д><table>
Д> <tr>
Д> <td>
Д> <table>...some data from db here ... </table>
Д> </td>
Д> </tr>
Д> <tr>
Д> <td>
Д> КНОПКА ТУТ
Д> </td>
Д> </tr>
Д></table>
Д>
Спасибо большое!! а я то тут голову ломаю...
Re[3]: Как получить свойства динамич. созд. контролов с клие
Здравствуйте, corpse56, Вы писали:
C>со строками разобрался. все получилось так, как я хочу. теперь вот еще какая штука: теперь мне под этой динамически созданной таблицей с неизвестной высотой необходимо расположить кнопку. вот как узнать какие координаты там где сразу заканчивается таблица? только способом который Вы, указали?
Как уже было сказаноЖ абсолютное позиционирование не наш метод.
У Repeater и у DataGrid есть такая забавная штука — FooterTemplate, который отрисовывается один раз, сразу за последним ItemTemplate.