• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

kombypetras

WPF com DataGrid ligado a base de dados

8 mensagens neste tópico

Boas tardes pessoal.

Estou com alguns problemas na minha aplicação.

Estou a desenvolver uma aplicação WPF e necessito de escrever dados numa tabela.

Tenho uma base de dados feita em SQLServer.

Será que alguém me poderia dar umas luzes de como poderei fazer isso, e que já tou farto de procurar e nao encontro forma de resolver isso. Ja instalei o WPFToolKit que tem o DataGrid mas mesmo assim não tenho opções que já encontrei na net mas nao me aparecem quando estou a tentar programar esta parte, como por exemplo o DataSource e o DataSet.

Será que alguém me poderia ajudar e explicar como eu poderei fazer isso??

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas pessoal, precisava mesmo de uma ajudinha nesta situação e não consigo encontrar resolução, será que alguém poderia dar uma ajudinha sff.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pesquisa por WPF e ADO.Net.

Aparecem-te imensas páginas no google com explicações e exemplos de código sobre isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes smp por aqui a solução, para o caso de aparecer mais gente com o mm problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas.

Ora então aí está a minha resolução do problema.

<wfi:WindowsFormsHost Margin="12,11,12,109" Name="view1">
            <wf:DataGridView x:Name="gridView" />
        </wfi:WindowsFormsHost>

é só isso adicionar um windowsFormsHost para podermos usar material das Windows Forms e depois é só adicionar uma DataGridView fazer a ligação à base de dados e associar ao DataGridView para mostrar esses mesmos dados

.
.
.
.
DataTable dt1 = new DataTable();
            String connString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=Path_Base_dados;Integrated Security=True;Connect Timeout=30;User Instance=True";
            SqlConnection conn = new SqlConnection(connString);
            SqlDataAdapter da = new SqlDataAdapter("Selec_Vig", conn);
            try
            {
                da.Fill(dt1);
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            grid = this.FindName("gridView") as System.Windows.Forms.DataGridView;
            grid.DataSource = dt1;
            grid.Refresh();
            DataContext = dt1;
            .
            .
            .

Ora aí está a minha solução depois de uma enorme pesquisa pelo mundo da internet

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas,

se colocasse a tua colecção num observableCollection<>,

depois fazias grid.ItemsSource= tua lista de objectos!

Atenção:

fizeste:

grid.DataSource = dt1;

DataContext = dt1;

afinal? envias os elementos pelo DataContext ou pelo grid.DataSource?? deves decidir por um deles!

se não disseres a grid quais são os seus elementos ele vai ver ao DataContext do seu controlo pai :D

bom trabalho

tofas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pera a ver se eu entendi.

Basta ter uma dessas opções, certo.

Ou seja ambas fazem o mesmo, é que pelo que eu pesquisei pela net tinhe percebido que era necessário ter as duas opções.

Já testei como me aconselhas-te e da certo.

Thanks pela dica.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora