none
Como faço para mudar os status de uma coluna do GridView de True p/ False? (vb.net) RRS feed

  • Pergunta

  • Olá a todos.

    Seguinte: Tenho um GridView em (asp.net 2.0 + vb.net)  e gostaria de mudar o status dessa coluna de True para False conforme uma condição qualquer. Algo do tipo:

    ______________________________________________

    Se o usuário for do tipo 1 então

    coluna do grid = true

    Se não for do tipo 1

    coluna do grid = false

    Fim do Se

    ______________________________________________

    Entenderam?

    Código do meu Grid:

     

    <asp:GridView ID="gridContatos" runat="server" DataKeyNames="sequenciaContato"  AutoGenerateColumns="False" Width="820px" CellPadding="5" ForeColor="#333333" GridLines="None">       
                       <HeaderStyle CssClass="fundogrid" HorizontalAlign="Left" Font-Bold="True" />     
                            <Columns>
                                <asp:BoundField DataField="dataContato" HeaderText="Data" ItemStyle-HorizontalAlign="left" HeaderStyle-HorizontalAlign="left" />
                                <asp:BoundField DataField="usuario" HeaderText="Reg. Por" ItemStyle-HorizontalAlign="left" HeaderStyle-HorizontalAlign="left" ItemStyle-ForeColor = "red"/>
                                <asp:BoundField DataField="historico" HeaderText="Hist&#243;rico" ItemStyle-HorizontalAlign="left" HeaderStyle-HorizontalAlign="left" />
                                <asp:BoundField DataField="servico" HeaderText="Servi&#231;o" ItemStyle-HorizontalAlign="left" HeaderStyle-HorizontalAlign="left" />
                                <asp:BoundField DataField="enderecoImplementacao" HeaderText="Endere&#231;o" ItemStyle-HorizontalAlign="left" HeaderStyle-HorizontalAlign="left"/>
                                
                                <asp:TemplateField ShowHeader="False">                            
                                     <ItemTemplate>
                                     <asp:LinkButton ID="linkExcluir" runat="server" CausesValidation="False" CommandName="Delete"
                                     OnClientClick='return confirm("Deseja realmente EXCLUIR esse registro?");' Text="Excluir" />
                                     </ItemTemplate>
                               </asp:TemplateField> 
                                                        
                              </Columns>
                        </asp:GridView>

    É a ultima coluna (LinkButton ID="linkExcluir") que eu desejo ocultar ou mostrar conforme minhas condições.

    Obrigado a todos por enquanto.

    Abs!

     

     

     

     

     

    quinta-feira, 8 de abril de 2010 17:00

Respostas

  • No rowdatabound da grid, faça a verificação do usuário.

    Dê um findControl no Link, se encontrar, sete o visible dele para false


    Ph
    quinta-feira, 8 de abril de 2010 17:05
  • acho que podes adicionar o evento ItemDataBound no seu datagrid.

     

    protected void seuDatagrid_ItemDataBound(object sender, DataGridItemEventArgs e)

    {

     

    e.Item.Cells[1].Visible =

    false;

    e.Item.Cells[2].Visible =

    false;

    e.Item.Cells[3].Visible =

    false;

    e.Item.Cells[4].Visible =

    false;

    e.Item.Cells[5].Visible =

    false;

    e.Item.Cells[6].Visible =

    false;

     

    }


    Se ajudar, não esqueça que você pode votar como útil. :D
    • Marcado como Resposta Gilberto Lúcio quinta-feira, 8 de abril de 2010 21:30
    quinta-feira, 8 de abril de 2010 17:09

Todas as Respostas

  • No rowdatabound da grid, faça a verificação do usuário.

    Dê um findControl no Link, se encontrar, sete o visible dele para false


    Ph
    quinta-feira, 8 de abril de 2010 17:05
  • acho que podes adicionar o evento ItemDataBound no seu datagrid.

     

    protected void seuDatagrid_ItemDataBound(object sender, DataGridItemEventArgs e)

    {

     

    e.Item.Cells[1].Visible =

    false;

    e.Item.Cells[2].Visible =

    false;

    e.Item.Cells[3].Visible =

    false;

    e.Item.Cells[4].Visible =

    false;

    e.Item.Cells[5].Visible =

    false;

    e.Item.Cells[6].Visible =

    false;

     

    }


    Se ajudar, não esqueça que você pode votar como útil. :D
    • Marcado como Resposta Gilberto Lúcio quinta-feira, 8 de abril de 2010 21:30
    quinta-feira, 8 de abril de 2010 17:09
  • Opa, valeu pelas respostas, mas consegui de uma forma bem simples:

    No load da página eu faço a verificação do tipo de usuário;

    Se o usuario for do tipo 1:

    MeuGrid.Columns(5).Visible = verdadeiro

    Caso contrário:

    MeuGrid.Columns(5).Visible = falso

    Fim

    Vou usar a idéia dos dois para fazer outras graças aqui no Sistema :D

    Mais uma vez obrigado pela ajuda!

    quinta-feira, 8 de abril de 2010 21:30