Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Repeater, Databinding и контролы 
V
    Опции темы
Bogdan1024
  Дата 20.7.2007, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 1
Всего: 13



Есть мною сделанный контрол. У него есть 4 свойства, если их установить то в соответствующих местах контрола появляется этот текст.
Код

            <asp:Repeater ID="Repeater2" runat="server" DataSourceID="SqlDataSource1">
                <HeaderTemplate>
                    <table>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <uc1:Article ID="Article1" runat="server" AuthorUserId='<%# Eval("AuthorUserId") %>'
                                PublishingDate='<%# Eval("PublishingDate") %>' Title='<%# Eval("Title") %>' Text='<%# Eval("Text") %>' />
                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>

Что можно сделать чтобы не прописывать свойства контрола? Чтобы не указывать какие данные берутся? Чтобы просто швырнуть контрол в репитер, и всё!?
При этом в репитере или в коде можно написать какую угодно инфу для привязывания. Только нужно не трогать мой контрол.


--------------------
user posted image
PM MAIL   Вверх
Mymik
Дата 20.7.2007, 14:29 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Bogdan1024, такое нельзя сделать. Если ты не передаешь в свой контрол DataSource (в данном случаи его заменяет просто Eval) то ты никак не сможешь достучаться до этих данных. Это как бы правила компонентов. Дабы контролы из разных файлов не пересекались.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Bogdan1024
Дата 23.7.2007, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 1
Всего: 13



Какие именно контролы из разных файлов могут пересекаться? У меня же всего 2 контрола: репитер и мой.


--------------------
user posted image
PM MAIL   Вверх
Mymik
Дата 23.7.2007, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Bogdan1024, но разработчики ведь пишут виртуальную среду .NET Framework не только для тебя ;о). 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Bogdan1024
Дата 23.7.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 1
Всего: 13



Се мне понятно, мне не понятно как и какие контролы из каких файлов могут пересекаться. smile 
Хорошо, а какие есть способы передачи датасорс в мой контрол используя репитер?


--------------------
user posted image
PM MAIL   Вверх
Bogdan1024
Дата 23.7.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 1
Всего: 13



Быть может можно использовать Repeater.Items?


--------------------
user posted image
PM MAIL   Вверх
Mymik
Дата 23.7.2007, 15:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Ну допустим у тебя твой DataTable будет выглядеть где-то так (привожу пример в виде xml для наглядности)
Код

<root>
    <item>
        <AuthorUserId>...</AuthorUserId>
        <PublishingDate>...</PublishingDate>
        <Title>...</Title>
        <Text>...</Text>
    </item>
    <item>
        <AuthorUserId>...</AuthorUserId>
        <PublishingDate>...</PublishingDate>
        <Title>...</Title>
        <Text>...</Text>
    </item>
    <item>
        <AuthorUserId>...</AuthorUserId>
        <PublishingDate>...</PublishingDate>
        <Title>...</Title>
        <Text>...</Text>
    </item>
</root>

Т.е. тогда тебе нужно будет передавать передавать в твой контрол только item а в твоем контроле ты уже будешь разбирать эти данные и писать их туда куда тебе нужно.
Код

<asp:Repeater ID="Repeater2" runat="server" DataSourceID="SqlDataSource1">
                <HeaderTemplate>
                    <table>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <uc1:Article ID="Article1" DataSource='<%# Eval("Item")%>' runat="server"  />
                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>

А в твоем контроле ты говоришь, что это свойство принимает DataTable. И дальше ты просто пишешь забо этих данных из этой таблицы. вот и все.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0858 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.