none
DataTable + GridView + Click RRS feed

  • Pergunta

  • Pessoal tenho um Datable que é montado personalizado para mostrar as informações bonitinhas na tela.
    Monto o meu DataTable e jogo bonitinho no GridView até aí tudo bem funciona. E ficaria mais ou menos assim. com vários anos

    Meses              2001      2002        2003        2004                                                                           
    Janeiro              10,74      11,96        6,12        44,15                                                     
    Fervereiro          10,12      6,19         7,29        17,11       
    Março                7,45        8,77         8,80        16,51
    Abril                  11,29      9,15         9,98        20,03             
    Maio                  21,44      11,25       5,13        21,09 
    Junho                13,13      13,85       0,00        13,94        
    Julho                 88,69      17,02       1,10        30,00              
    Agosto               51,27      16,14      6,54         58,83           
    Setembro          12,47       36,8        25,39       25,86       
    Outubro             96,75       49,85     14,44        19,62         
    Novembro          6,69        45,56      17,69       20,12                   
    Dezembro          11,25       12,85      51,35       74,16       

    O Meu GridView é setado com AutoGenerateColumn pois eu faço todo o trabalho no DataTable. O problema é que quando eu dou um GridView1.Bind() as colunas por padrão no GridView são do tipo BoundField eu precisaria que o números aí em cima fosse um HyperLinkField ou fosse um TemplateField pra eu colocar um LinkButton. pois ao clicar em cima do número eu vou ter que abrir um outro Grid fazendo uns calculos malucos, mas aí é outra história eu só preciso que os números do meu grid aí de cima sejam clicáveis.
    Obs eu não sei qtas colunas podem possuir o Grid é montado dinâmicamente de acordo com o BD       
    ME ajudem!!!!!!!!



    • Editado ferlindo7 quarta-feira, 27 de fevereiro de 2013 12:12
    quarta-feira, 27 de fevereiro de 2013 12:10

Todas as Respostas

  • Olá, basta você ao fazer o itemTemplate setar qual coluna do seu dataTable será a ligação de dados com o seu controle que fica dentro do itemTemplate. Fica algo mais ou menos assim: Observe a parte 

    <asp:GridView ID="gridCampo" runat="server" AutoGenerateColumns="False" EnableModelValidation="True"
                                            AllowPaging="false" EnableTheming="false" BackColor="White" CellPadding="3" GridLines="Horizontal"
                                            Style="text-align: left;">
                                            <AlternatingRowStyle CssClass="AlternatingRowStyle" />
                                            <RowStyle CssClass="RowStyle" />
                                            <HeaderStyle CssClass="HeaderStyle" />
                                            <EmptyDataTemplate>
                                                Nenhum registro encontrado
                                            </EmptyDataTemplate>
                                            <Columns>
                                                <asp:TemplateField HeaderText="Ordem">
                                                    <ItemTemplate>
                                                        <asp:HiddenField ID="OrdemHiddenField" runat="server" Value='<%# Eval("Ordem") %>' />
                                                        <asp:HiddenField ID="idxHiddenField" runat="server" Value='<%# Eval("idx") %>' />
                                                        <asp:DropDownList ID="ddlOrdem" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlOrdem_SelectedIndexChanged"
                                                            CssClass="TextBox">
                                                        </asp:DropDownList>
                                                        <asp:HiddenField ID="TituloHiddenField" runat="server" Value='<%# Eval("TITULO") %>' />
                                                        <asp:HiddenField ID="CampoHiddenField" runat="server" Value='<%# Eval("CAMPO") %>' />
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                                <asp:BoundField DataField="Titulo" HeaderText="Campo" ItemStyle-Width="200" />
                                            </Columns>
                                        </asp:GridView>

    quinta-feira, 28 de fevereiro de 2013 12:09