Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Carmo

Erro em migrar dados do win form para wpf

Recommended Posts

Pessoal estou migrando uma aplicação que esta em windows form para uma nova aplicação em wpf, muitos recursos já consegui migrar porém estou tendo um problema em migrar um recursos de datagridview no windows form pra o datagrid no wpf, eu criei uma classe que carrega dados do banco e alimenta um datagridview no aplicativo windows form, o datagridviw estará em vários formulários por isso criei a class assim faço uma única vez e aproveito nos demais, o código é esse:

Class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data;
using Gerenciador_Processos.model; 

namespace Gerenciador_Processos.controller
{
    class ClassGridProcessos
    {
        public void PreencheGrid(ref DataGridView gridProcessos)
        {
            DataSet ds = new DataSet();
            ds = ClassNegociosProcessos.verificaProcessos();

            gridProcessos.RowHeadersVisible = false;
            gridProcessos.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

            gridProcessos.ReadOnly = true;
            gridProcessos.DataSource = ds.Tables[0];

            gridProcessos.Columns[1].HeaderText = "Processo(s)";
            gridProcessos.Columns[1].Width = 200;
            gridProcessos.Columns[2].HeaderText = "IP";
            gridProcessos.Columns[2].Width = 100;
            gridProcessos.Columns[3].HeaderText = "Descrição";
            gridProcessos.Columns[3].Width = 200;
            gridProcessos.Columns[0].Visible = false;
            gridProcessos.Columns[4].Visible = false;

        }
    }
}

No formulário wpf adicionei o objeto datagrid que acredito ser o compatível com o data gridview, então no load chamo a class acima e mando encher o datagrid com os dados, no windows form funciona, mas no wpf a chamada do objeto da class esta apresentando erro, a chamado é essa:

private void frmGerencia_Loaded(object sender, RoutedEventArgs e)
        {
            ClassGridProcessos carrega_grid = new ClassGridProcessos();
            carrega_grid.PreencheGrid(ref gridProcessos);
        }

esta apresentando erro nessa linha:

carrega_grid.PreencheGrid(ref gridProcessos);

informando que o argumento passado é inválido ou seja a referência do objeto datagrid:

Error 4 The best overloaded method match for 'Gerenciador_Processos.controller.ClassGridProcessos.PreencheGrid(ref System.Windows.Forms.DataGridView)' has some invalid arguments

 

Como corrijo esse problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde

 

Após estudar mais o estilo de trabalho do WPF, entendi o modo de trabalhar do datagrid, entendi como encher ele com os dados do meu banco através de um binding e que para formatar as colunas preciso usar axml, logo a forma que eu trabalhava com o datagridview não irá funcionar no wpf.

Se eu estiver errado por favor me avisem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, sua frase ali encima dizendo que o DGV era igual ao GridView não é válida, cada um trabalha de um jeito, no WPF você pode usar o método DataSource=<suadataTable> para preencher o grid e depois utilizar GridView.Databind()

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.