USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (ActiveX/Controles/DLL)

Título da Dica:  Acessando o DataSource durante a carga do DataGrid
Postada em 7/10/2003 por ^HEAVY-METAL^            
Muitas vezes voce gostaria de acessar o "datarow" que está sendo carregado em determinada coluna. Um exemplo prático para este uso.
- Vamos supor que voce está listando chamados pendentes , e quer "mudar" da cor da coluna se um chamado é urgente ou se esta muito atrasado, e mais ainda, o campo que tem esta informação não está no dataGrid e sim do DataTable ...
- Vamos ao Código

language="VB"
' para acessar o datarow durante a carga vamos usar o seguinte código:
' Note que dr, eh o datarow, e posso acessar qualquer coluna da
' tabela original do banco de dados , e por exemplo alterar a
' cor da linha do DataGrid

Private Sub DataGrid1_ItemDataBound(ByVal s As Object, _
              ByVal e As DataGridItemEventArgs) _
              Handles DataGrid1.ItemDataBound

        Dim i As Integer = e.Item.ItemIndex
        If i >= 0 And False Then
            Dim dr As DataRowView = CType(e.Item.DataItem, DataRowView)
            If dr("Prioridade") = 1 Then
                e.Item.Cells(0).BackColor = Color.FromArgb(255, 0, 0)
                e.Item.Cells(0).ForeColor = Color.FromArgb(255, 255, 255)
            ElseIf dr("Prioridade") = 2 Then
                e.Item.Cells(0).BackColor = Color.FromArgb(255, 255, 0)
            End If
        End If
End Sub

'  Se voce usa o Visual Studio.NET, pode criar um breakpoint no inicio da subrotina
'  e vai notar que para cada Linha que é carregada no DataGrid , a subrotina
'  é chamada, assim se o datagrid tem 10 linhas de dados, vai ocorrer 11 chamadas
'  uma a mais por causa do Header da tabela, onde e.Item.ItemIndex = -1


T+,
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página