Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по рипитерам....Как быть? / 2 сообщений из 2, страница 1 из 1
14.07.2017, 15:35
    #39489170
Santa89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по рипитерам....Как быть?
Вобщем есть родительский ParentRepeater и вложенный ChildRepeater датасорс у которого опирается на параметр id из датасорса родительского рипитера :

Код: html
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.
 <asp:Repeater ID="ParentRepeater" runat="server" DataSourceID="Sql_Datasources">
<ItemTemplate>
<h3>ID = <%# DataBinder.Eval(Container.DataItem, "id")%></h3>

                                        <asp:Repeater ID="ChildRepeater" runat="server" DataSourceID="SqlDatasourcesFeeds">
                                        <ItemTemplate>
                                            ****
                                            Feed:&nbsp;&nbsp;<%# DataBinder.Eval(Container.DataItem, "Feed_Caption")%>
                                            ***
                                        </ItemTemplate>
                                        </asp:Repeater>

</ItemTemplate>
</asp:Repeater>



                        <asp:SqlDataSource ID="Sql_Datasources" runat="server" DataSourceMode="DataReader" ConnectionString="<%$ ConnectionStrings:WH_ManagementConnectionString %>"
                            SelectCommand=
                            "SELECT
                            [id],
                            [name]
                            FROM [etl_info].[DATASOURCES]">
                        </asp:SqlDataSource>


                        <asp:SqlDataSource ID="SqlDatasourcesFeeds" runat="server" DataSourceMode="DataReader" ConnectionString="<%$ ConnectionStrings:WH_ManagementConnectionString %>"
                            SelectCommand=
                            "
                            SELECT
                            Feed_Caption
                            WHERE  id = @DatasourceID
                            ">

                               <SelectParameters>
                                    <asp:Parameter Name="DatasourceID" Type="Int32" DefaultValue="0" />
                               </SelectParameters>

                        </asp:SqlDataSource>




Так вот, если сделать такое событие:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    Private Sub ParentRepeater_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles ParentRepeater.ItemDataBound

        If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then

            Dim Repeater2 As Repeater = DirectCast(e.Item.FindControl("ChildRepeater"), Repeater)
            Dim datasource As Integer = DataBinder.Eval(e.Item.DataItem, "id")


            SqlDatasourcesFeeds.SelectParameters("DatasourceID").DefaultValue = datasource
            Repeater2.DataBind()

        End If
    End Sub



То не получается корректного заполнения..
Например если поставить SqlDatasourcesFeeds.SelectParameters("DatasourceID").DefaultValue = XXX (какой то конкретный айди) - то во ВСЕ parent - рипитеры добавляется этот Feed_Caption, а этот Feed_Caption нужен только в зависимом parent рипитере ...

Надеюсь понятно описал проблему...
...
Рейтинг: 0 / 0
15.07.2017, 02:08
    #39489442
Santa89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по рипитерам....Как быть?
Вопрос решился. надо было заполнять Parent Repeater в событии PageLoad и использоыать Hidden Field. Кому будет интересно - отвечу
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по рипитерам....Как быть? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]