COMO TRABALHAR COM DATAGRIDVIEW QUE TEM COLUNAS DO

DANIROSA 16/03/2014 13:10:53
#436118

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.....
RODRIGO29 17/03/2014 11:39:32
#436167
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?
DANIROSA 19/03/2014 16:35:13
#436261
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
KILLERBEST 21/03/2014 07:57:09
#436330
Resposta escolhida
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
Tópico encerrado , respostas não são mais permitidas