Jump to content
Weasel

Tabcontrol e Datagridview

Recommended Posts

Weasel

Boas,

Estou aqui com um problema e não estou a descobrir como resolver.

Tenho um Tabcontrol com um datagriview dentro da Tab1 e conforme os dados que vou consultar terei de criar mais tab's via codigo com datagridview lá dentro (iguais à tab1), e depois inserir dados nessas DataGridView.

Tentei isto para as tabs/datagridviews


Dim dg As New DataGridView()
dg = DataGridView1
dg.Rows.Clear()
Dim tab As New TabPage("Tab nº" & tabs)
tab.Controls.Add(dg)
TabControl1.TabPages.Add(tab)
tabs += 1

E isto para os dados (rows)


With CType(TabControl1.TabPages.Item(tabs).Controls.Item(0), DataGridView)
.Rows.Add(valores(0), valores(1))
End With

Mas não funciona alguém me dá umas luzes?

Nota: As tabs só têm o datagridview dentro mais nenhum control


Knowledge to the masses


Share this post


Link to post
Share on other sites
bioshock

        Dim tab As New TabPage("Tab 2")
        Dim dg As New DataGridView
        ' Primeiro adicionas o novo tabpage
        TabControl1.Controls.Add(tab)
        ' só depois adicionas a datagrid ao novo tabpage
        tab.Controls.Add(dg)

O outro não percebi, queres fazer um copy-paste da datagridview?

Share this post


Link to post
Share on other sites
Weasel

Básicamente quero duplicar a Tab1 (com o datagridview lá dentro) mas sem rows pois quero também colocar lá as suas proprias rows.

Acho que o mais simples será criar logo varias tabs e coloca-las como visible = false e depois colocar true conforme for precisando de mais tabs...


Knowledge to the masses


Share this post


Link to post
Share on other sites
bioshock

Mas só queres duplicar a Datagridview? Se não forem muitos controlos, podes sempre apanhar as definições dos mesmos e "cambiá-los" para a tab(2).

   

    Dim tab As New TabPage("Tab 2")
        Dim dg As New DataGridView
        ' Primeiro adicionas o novo tabpage
        TabControl1.Controls.Add(tab)
        ' só depois adicionas a datagrid ao novo tabpage
        With dg
            .Width = TabControl1.TabPages(0).Controls("Datagridview1").Size.Width
            .Height = TabControl1.TabPages(0).Controls("Datagridview1").Size.Height
        End With
        tab.Controls.Add(dg)

Idem aspas para as linhas.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.