Parcker 0 Posted March 17, 2011 Report Share Posted March 17, 2011 Boas. Queria saber uma maneira de apresentar uma tabela inteira numa form. Pode ser com qualquer ferramenta como o datagridview. Eu tenho uma maneira que deixo aqui: Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick Dim Utilizador As Integer Dim Nome As String Dim Sexo As String Dim Morada As String Dim Contacto As Integer Utilizador = DataGridView1.Rows(e.RowIndex).Cells(0).Value Nome = DataGridView1.Rows(e.RowIndex).Cells(1).Value Sexo = DataGridView1.Rows(e.RowIndex).Cells(2).Value Morada = DataGridView1.Rows(e.RowIndex).Cells(3).Value Contacto = DataGridView1.Rows(e.RowIndex).Cells(4).Value End Sub Private Sub ConsultarUtilizadores_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load DataGridView1.AutoSizeColumnsMode = _ DataGridViewAutoSizeColumnsMode.AllCells DataGridView1.AllowUserToAddRows = False DataGridView1.AllowUserToDeleteRows = False DataGridView1.EditMode = _ DataGridViewEditMode.EditProgrammatically Dim adapter_utilizadores As New _ SigaDataSetTableAdapters.UtilizadoresTableAdapter() Dim tab_utilizadores As New SigaDataSet.UtilizadoresDataTable adapter_utilizadores.Fill(tab_utilizadores) Dim coluna As DataColumn For Each coluna In tab_utilizadores.Columns DataGridView1.Columns.Add(coluna.ColumnName, _ coluna.ColumnName) Next Dim idx_linha As Integer idx_linha = 0 Dim valor Dim linha As DataRow For Each linha In tab_utilizadores.Rows Dim linha_datagrid As New DataGridViewRow DataGridView1.Rows.Add(linha_datagrid) Dim idx_coluna As Integer idx_coluna = 0 For Each coluna In tab_utilizadores.Columns valor = tab_utilizadores.Rows(idx_linha).Item(idx_coluna) If IsDate(valor) Then valor = _ Microsoft.VisualBasic.FormatDateTime(valor, _ DateFormat.ShortDate) DataGridView1.Rows(idx_linha).Cells(idx_coluna).Value = valor idx_coluna = idx_coluna + 1 Next idx_linha = idx_linha + 1 Next End Sub Eu não quero usar este código porque tenho de utilizar DataSet's. Não gosto muito daquele método. Alguém me arranja um método diferente sff? Obrigado Link to post Share on other sites
Caça 17 Posted March 18, 2011 Report Share Posted March 18, 2011 Eu não quero usar este código porque tenho de utilizar DataSet's. Não gosto muito daquele método. É simples e eficaz.. Em alternativa podes usar outros tipos de colecções(List(Of Type), etc.), mas caso não estejas a utilizar Entiti Framework ou Data Classes, vais ter ainda mais trabalho Pedro Martins Não respondo a duvidas por PM Link to post Share on other sites
bioshock 180 Posted March 18, 2011 Report Share Posted March 18, 2011 Estás a utilizar o wizard que o Visual Studio oferece, caso faças tudo via código, quanto a mim terás uma maior percepção do código, é isso que pretendes? (Devo-te dizer que os Datasets também serão usados!) Exemplo com base de dados Access 2003: Dim Connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\Teste.mdb") Dim Query As String = "SELECT * FROM Clientes" Dim DTAdapter As New OleDbDataAdapter(Query, Connection) Dim DTSet As New DataSet DTAdapter.Fill(DTSet , "Clientes") Me.DataGridView1.DataSource = DTSet.Tables("Clientes") Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now