none
Parâmetro do DataSource RRS feed

  • Pergunta

  • É o seguinte. Tenho um gridView com um dataSource e faz a listagem e eu estou adicionando 1 coluna no final com as empresas que o funcionário faz parte e estou colocando um repeater para listar isso.

    A dúvida é: Como passo o pro parâmetro do dataSource do repeater o ID do dataSource do gridView? Ali estou só exemplifiquei, passei "11" na mão e lista.

    Code Snippet

    <asp:GridView ID="Grid" runat="server" DataKeyNames="id"
        AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
        Width="100%" AllowPaging="True"
        AllowSorting="True">
        <Columns>
            <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False"
                ReadOnly="True" SortExpression="id" />
            <asp:BoundField DataField="nome" HeaderText="Nome" SortExpression="nome" />                       
            <asp:TemplateField HeaderText="Empresas">
                <ItemTemplate>
                    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource2">
                        <ItemTemplate>
                            <li class="titList"><%#Eval("empresa")%></li>
                        </ItemTemplate>
                    </asp:Repeater>
                    <asp:SqlDataSource ID="SqlDataSource2" runat="server"
                        ConnectionString="<%$ ConnectionStrings:Descomplica %>"
                        SelectCommand="SELECT * FROM tabela WHERE parametro = @parametro">
                        <SelectParameters>                       
                            <asp:Parameter Name="parametro" DefaultValue="11" />
                        </SelectParameters>
                    </asp:SqlDataSource>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>


    quinta-feira, 10 de abril de 2008 23:39

Respostas

  • Consegui fazer.

    Criei um template field e chamei no parâmetro do data source com o control parameter.

    Code Snippet

    <asp:TemplateField HeaderText="id" InsertVisible="False" SortExpression="id" Visible="false">
         <ItemTemplate>
              <asp:Label ID="label1" runat="server" Text='<%# Bind("id") %>'></asp:Label>
         </ItemTemplate>                   
    </asp:TemplateField>




    Code Snippet

    <SelectParameters>
         <asp:ControlParameter ControlID="label1" Name="id" />
    </SelectParameters>

    sexta-feira, 11 de abril de 2008 16:23