COMO TRABALHAR COM DATAGRIDVIEW QUE TEM COLUNAS DO
Boa tarde ....
Como trabalhar com um datagridview que tem colunas do tipo checkbox?
Eu quero que os checkbox do datagridview assumem o valor True se forem checados e False se não forem checados e no botão confirmar gravar as alteraçoes no banco de dados.
Como faço isso?
quais são os eventos em que eu tenho que mexer no datagridview?
Obrigado.....
Ficou meio confuso, mas diga o que o checkbox vai fazer? Ele vai ser responsavel pelo o que?
exemplo eu quero que meu checkbox quando marcado ligue meu timer e desmarcado desligue o timer:
[ô]se o checkbox1 for checado, então liga o timer1[ô]
If CheckBox1.Checked = True Then
Timer1.Start()
Else
[ô]se não, desliga o timer1[ô]
Timer1.Stop()
End If
Quanto ao botão gravar, que banco de dados esta usando?
exemplo eu quero que meu checkbox quando marcado ligue meu timer e desmarcado desligue o timer:
[ô]se o checkbox1 for checado, então liga o timer1[ô]
If CheckBox1.Checked = True Then
Timer1.Start()
Else
[ô]se não, desliga o timer1[ô]
Timer1.Stop()
End If
Quanto ao botão gravar, que banco de dados esta usando?
Obrigado pela resposta prof!
eu tenho esta tabela com os dados do tipo bi, e no datagridview eu quero que ao clicar na coluna do tipo CheckBox ele grava na base de dados os valores True ou False.
è isso que eu quero, gravar true ou false na base de dados apartir do que for selecionado no datagridview...
Abaixo tem o Codigo da tela e o codigo actual do formulario
CREATE TABLE [dbo].[PermiUser](
[CODIGO_EMPRESA] [varchar](10) NOT NULL,
[CODIGO_PERF_USER] [int] NOT NULL,
[CODIGO_FUNÇÃO_USER] [int] NOT NULL,
[INSERIR] [bit] NOT NULL,
[ACTUALIZAR] [bit] NOT NULL,
[ELIMINAR] [bit] NOT NULL,
[CONSULTAR] [bit] NOT NULL,
[IMPRIMIR] [bit] NOT NULL,
CONSTRAINT [PK_PermiUser] PRIMARY KEY CLUSTERED
(
[CODIGO_EMPRESA] ASC,
[CODIGO_PERF_USER] ASC,
[CODIGO_FUNÇÃO_USER] ASC
E abaixo esta o codigo actual do formulario com o datagridview:
Public Class FrmListaPermissoesUsiarios
Dim ListaGeralPermissoes As List(Of DAL.LT_PermUsResult)
Private Sub FrmListaPermissoesUsiarios_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DGVListaPermissoes.Columns(0).DataPropertyName = [Ô]CODIGO_EMPRESA[Ô]
DGVListaPermissoes.Columns(1).DataPropertyName = [Ô]CODIGO_PERF_USER[Ô]
DGVListaPermissoes.Columns(2).DataPropertyName = [Ô]CODIGO_FUNÇÃO_USER[Ô]
DGVListaPermissoes.Columns(3).DataPropertyName = [Ô]INSERIR[Ô] [ô]true ou false
DGVListaPermissoes.Columns(4).DataPropertyName = [Ô]ACTUALIZAR[Ô] [ô]True ou False
DGVListaPermissoes.Columns(5).DataPropertyName = [Ô]ELIMINAR[Ô] [ô] True ou False
DGVListaPermissoes.Columns(6).DataPropertyName = [Ô]CONSULTAR[Ô] [ô] True ou false
DGVListaPermissoes.Columns(7).DataPropertyName = [Ô]IMPRIMIR[Ô] [ô]True ou False
[ô]aqui usamos uma consulta linque para fazer o preenchimento do datagridview
Using contexto As New DAL.DANIROSADataContext
ListaGeralPermissoes = contexto.LT_PermUs.ToList
End Using
CarregarGridPermissoes(ListaGeralPermissoes)
End Sub
[ô]Aqui a rotina que vai fazer o carregamento dos dados no datagridview
Private Sub CarregarGridPermissoes(Listapermissoes As IList(Of DAL.LT_PermUsResult))
DGVListaPermissoes.DataSource = Listapermissoes
DGVListaPermissoes.Update()
End Sub
Private Sub DGVListaPermissoes_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGVListaPermissoes.CellClick
[ô]marcar e desmarcar o check box selecionado
DGVListaPermissoes.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = _
Not DGVListaPermissoes.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
End Sub
Private Sub BtnConfirmarPermissoes_Click(sender As Object, e As EventArgs) Handles BtnConfirmarPermissoes.Click
If MessageBox.Show([Ô]Tem certeza que deseja actualizar este registro ?[Ô], [Ô]Actualizar[Ô], MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.Yes) Then
Try
Dim ctxt As BLL.DANIROSA.PermissoesBLL
ctxt = New BLL.DANIROSA.PermissoesBLL
Dim pe As New DAL.PermiUser
pe.CODIGO_EMPRESA = DGVListaPermissoes.CurrentRow.Cells(0).Value.ToString
pe.CODIGO_PERF_USER = DGVListaPermissoes.CurrentRow.Cells(1).Value.ToString
pe.CODIGO_FUNÇÃO_USER = DGVListaPermissoes.CurrentRow.Cells(2).Value.ToString
pe.INSERIR = DGVListaPermissoes.CurrentRow.Cells(3).Value.ToString
pe.ACTUALIZAR = DGVListaPermissoes.CurrentRow.Cells(4).Value.ToString
pe.ELIMINAR = DGVListaPermissoes.CurrentRow.Cells(5).Value.ToString
pe.CONSULTAR = DGVListaPermissoes.CurrentRow.Cells(6).Value.ToString
pe.IMPRIMIR = DGVListaPermissoes.CurrentRow.Cells(7).Value.ToString
ctxt.UpdatPermissoes(pe)
MessageBox.Show([Ô]Registo actualizado com sucesso : [Ô], [Ô]Actualizar[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End If
End Sub
End Class
eu tenho esta tabela com os dados do tipo bi, e no datagridview eu quero que ao clicar na coluna do tipo CheckBox ele grava na base de dados os valores True ou False.
è isso que eu quero, gravar true ou false na base de dados apartir do que for selecionado no datagridview...
Abaixo tem o Codigo da tela e o codigo actual do formulario
CREATE TABLE [dbo].[PermiUser](
[CODIGO_EMPRESA] [varchar](10) NOT NULL,
[CODIGO_PERF_USER] [int] NOT NULL,
[CODIGO_FUNÇÃO_USER] [int] NOT NULL,
[INSERIR] [bit] NOT NULL,
[ACTUALIZAR] [bit] NOT NULL,
[ELIMINAR] [bit] NOT NULL,
[CONSULTAR] [bit] NOT NULL,
[IMPRIMIR] [bit] NOT NULL,
CONSTRAINT [PK_PermiUser] PRIMARY KEY CLUSTERED
(
[CODIGO_EMPRESA] ASC,
[CODIGO_PERF_USER] ASC,
[CODIGO_FUNÇÃO_USER] ASC
E abaixo esta o codigo actual do formulario com o datagridview:
Public Class FrmListaPermissoesUsiarios
Dim ListaGeralPermissoes As List(Of DAL.LT_PermUsResult)
Private Sub FrmListaPermissoesUsiarios_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DGVListaPermissoes.Columns(0).DataPropertyName = [Ô]CODIGO_EMPRESA[Ô]
DGVListaPermissoes.Columns(1).DataPropertyName = [Ô]CODIGO_PERF_USER[Ô]
DGVListaPermissoes.Columns(2).DataPropertyName = [Ô]CODIGO_FUNÇÃO_USER[Ô]
DGVListaPermissoes.Columns(3).DataPropertyName = [Ô]INSERIR[Ô] [ô]true ou false
DGVListaPermissoes.Columns(4).DataPropertyName = [Ô]ACTUALIZAR[Ô] [ô]True ou False
DGVListaPermissoes.Columns(5).DataPropertyName = [Ô]ELIMINAR[Ô] [ô] True ou False
DGVListaPermissoes.Columns(6).DataPropertyName = [Ô]CONSULTAR[Ô] [ô] True ou false
DGVListaPermissoes.Columns(7).DataPropertyName = [Ô]IMPRIMIR[Ô] [ô]True ou False
[ô]aqui usamos uma consulta linque para fazer o preenchimento do datagridview
Using contexto As New DAL.DANIROSADataContext
ListaGeralPermissoes = contexto.LT_PermUs.ToList
End Using
CarregarGridPermissoes(ListaGeralPermissoes)
End Sub
[ô]Aqui a rotina que vai fazer o carregamento dos dados no datagridview
Private Sub CarregarGridPermissoes(Listapermissoes As IList(Of DAL.LT_PermUsResult))
DGVListaPermissoes.DataSource = Listapermissoes
DGVListaPermissoes.Update()
End Sub
Private Sub DGVListaPermissoes_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGVListaPermissoes.CellClick
[ô]marcar e desmarcar o check box selecionado
DGVListaPermissoes.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = _
Not DGVListaPermissoes.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
End Sub
Private Sub BtnConfirmarPermissoes_Click(sender As Object, e As EventArgs) Handles BtnConfirmarPermissoes.Click
If MessageBox.Show([Ô]Tem certeza que deseja actualizar este registro ?[Ô], [Ô]Actualizar[Ô], MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.Yes) Then
Try
Dim ctxt As BLL.DANIROSA.PermissoesBLL
ctxt = New BLL.DANIROSA.PermissoesBLL
Dim pe As New DAL.PermiUser
pe.CODIGO_EMPRESA = DGVListaPermissoes.CurrentRow.Cells(0).Value.ToString
pe.CODIGO_PERF_USER = DGVListaPermissoes.CurrentRow.Cells(1).Value.ToString
pe.CODIGO_FUNÇÃO_USER = DGVListaPermissoes.CurrentRow.Cells(2).Value.ToString
pe.INSERIR = DGVListaPermissoes.CurrentRow.Cells(3).Value.ToString
pe.ACTUALIZAR = DGVListaPermissoes.CurrentRow.Cells(4).Value.ToString
pe.ELIMINAR = DGVListaPermissoes.CurrentRow.Cells(5).Value.ToString
pe.CONSULTAR = DGVListaPermissoes.CurrentRow.Cells(6).Value.ToString
pe.IMPRIMIR = DGVListaPermissoes.CurrentRow.Cells(7).Value.ToString
ctxt.UpdatPermissoes(pe)
MessageBox.Show([Ô]Registo actualizado com sucesso : [Ô], [Ô]Actualizar[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End If
End Sub
End Class
Dim conn As New OracleConnection
Private cmd As OracleCommand
Private da As OracleDataAdapter
Private cb As OracleCommandBuilder
Private ds As DataSet
da = New OracleDataAdapter(cmd)
cb = New OracleCommandBuilder(da)
ds = New DataSet()
Dim sql As String = [Ô]Aqui irá meter aqui que quer em sql[Ô]
cmd = New OracleCommand(sql, conn)
cmd.CommandType = CommandType.Text
da.Fill(ds)
funcionarios.DataSource = ds.Tables(0)
da.Update(ds.Tables(0))
pode tentar com este codigo
se ajudar :D
Private cmd As OracleCommand
Private da As OracleDataAdapter
Private cb As OracleCommandBuilder
Private ds As DataSet
da = New OracleDataAdapter(cmd)
cb = New OracleCommandBuilder(da)
ds = New DataSet()
Dim sql As String = [Ô]Aqui irá meter aqui que quer em sql[Ô]
cmd = New OracleCommand(sql, conn)
cmd.CommandType = CommandType.Text
da.Fill(ds)
funcionarios.DataSource = ds.Tables(0)
da.Update(ds.Tables(0))
pode tentar com este codigo
se ajudar :D
Tópico encerrado , respostas não são mais permitidas