none
DataGridView RRS feed

  • Pergunta

  • Tenho o seguinte código:

    Dim conn As New OleDbConnection

    Dim da As New OleDbDataAdapter

    Dim dvds As DataTable

    Dim comando As New OleDbCommand

    Dim meuDataReader As OleDbDataReader

    conn.ConnectionString = My.Settings.StringConexao

    Try

    'criando comando

    da = New OleDbDataAdapter("SELECT codigo_dvd, titulo_dvd, descricao_categoria, status_dvd FROM dvds, categorias WHERE categoria_dvd = codigo_categoria ORDER BY codigo_dvd", conn)

    'preenchendo o DataTable

    dvds = New DataTable

    da.Fill(dvds)

    'linkar datasource

    DGVdvds.DataSource = dvds

    DGVdvds.Columns.Item("codigo_dvd").Width = 50

    DGVdvds.Columns.Item("titulo_dvd").Width = 400

    DGVdvds.Columns.Item("descricao_categoria").Width = 120

    DGVdvds.Columns.Item("status_dvd").Width = 141

    DGVdvds.Columns.Item("codigo_dvd").ReadOnly = True

    DGVdvds.Columns.Item("titulo_dvd").ReadOnly = True

    DGVdvds.Columns.Item("descricao_categoria").ReadOnly = True

    DGVdvds.Columns.Item("status_dvd").ReadOnly = True

    DGVdvds.Columns.Item("codigo_dvd").HeaderText = "Código:"

    DGVdvds.Columns.Item("titulo_dvd").HeaderText = "Título:"

    DGVdvds.Columns.Item("descricao_categoria").HeaderText = "Categoria:"

    DGVdvds.Columns.Item("status_dvd").HeaderText = "Status:"

    With comando

    .Connection = conn

    .CommandText = "SELECT COUNT(codigo_dvd) AS total_dvds FROM dvds"

    .CommandType = CommandType.Text

    conn.Open()

    .ExecuteNonQuery()

    meuDataReader = comando.ExecuteReader

    If meuDataReader.HasRows = True Then

    meuDataReader.Read()

    LBLtotaldvds.Text = meuDataReader("total_dvds")

    conn.Close()

    If LBLtotaldvds.Text = 0 Then

    MsgBox("Não há Nenhum DVD Cadastrado!", MsgBoxStyle.Exclamation)

    ElseIf LBLtotaldvds.Text > 20 Then

    DGVdvds.Columns.Item("descricao_categoria").Width = 104

    End If

    End If

    End With

    With comando

    .Connection = conn

    .CommandText = "SELECT COUNT(codigo_categoria) AS total_categorias FROM categorias"

    .CommandType = CommandType.Text

    conn.Open()

    .ExecuteNonQuery()

    meuDataReader = comando.ExecuteReader

    If meuDataReader.HasRows = True Then

    meuDataReader.Read()

    LBLtotalcategorias.Text = meuDataReader("total_categorias")

    conn.Close()

    End If

    End With

    Catch ex As Exception

    MsgBox(Err.Description, MsgBoxStyle.Critical)

    End Try

    No meu Banco de Dados, status_dvd pode ser 0 ou 1. E quando carrego esse Código no DataGridView é mostrado, 0 ou 1.

    Como faço para substituir esse 0 pela String: "Não Emprestado" e 1 pela String: "Emprestado" ?

    domingo, 17 de dezembro de 2006 17:40

Respostas

  • Bom dia,

    No evento CellFormataing coloca esse código.

    If (e.ColumnIndex = 4Then ' aqui vc. coloca o número da coluna status.
        If 
    (Not (e.Value) Is Nothing) 
    Then
            If 
    (Convert.ToInt32(e.Value) 0
    Then
                
    e.Value 
    "No Emprestado"
            
    Else
                
    e.Value 
    "Emprestado !"
            
    End If
        End If
    End If

     

    Não posso garantir que o código esteja 100% porque eu manjo um poquinho de C# e não de Vb.

    José Antunes


    segunda-feira, 18 de dezembro de 2006 11:59

Todas as Respostas

  • Oi

    Por que vc não coloca a modificação na sua query? Não vejo nenhuma maneira sem que tenha que percorrer todo seu datatable.

    Att
    Diogo Gomes
    segunda-feira, 18 de dezembro de 2006 00:27
  • E como faria isso na Query?
    segunda-feira, 18 de dezembro de 2006 00:47
  • Bom dia,

    No evento CellFormataing coloca esse código.

    If (e.ColumnIndex = 4Then ' aqui vc. coloca o número da coluna status.
        If 
    (Not (e.Value) Is Nothing) 
    Then
            If 
    (Convert.ToInt32(e.Value) 0
    Then
                
    e.Value 
    "No Emprestado"
            
    Else
                
    e.Value 
    "Emprestado !"
            
    End If
        End If
    End If

     

    Não posso garantir que o código esteja 100% porque eu manjo um poquinho de C# e não de Vb.

    José Antunes


    segunda-feira, 18 de dezembro de 2006 11:59
  • José Antunes é isso aí cara!

    Deu certinho!

    Muito Obrigado!

    Só mudei o ColumnIndex para 3 e ficou Perfeito!

    segunda-feira, 18 de dezembro de 2006 15:02