Ir para conteúdo

POWERED BY:

Arquivado

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

noiaz

[Resolvido] C# Não popula DataGrid

Recommended Posts

Pessoal olá.

 

Estou com um erro aqui que não consegui achar e ja até procurei na net, mas creio que pela falta de experiencia sabe como é né.

 

Nunca mexi com WPF e estou tentando aqui em codigo convencional até que vai sem problemas, mas usando WPF ta osso.

 

então o seguinte XAML

<Window x:Class="WpfApplication1.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow" Height="350" Width="525">
   <Grid>
       <DataGrid AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left" Margin="26,35,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="200" />
   </Grid>
</Window>

 

E o meu codigo c#

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using MySql.Data.MySqlClient;
using System.Data;

namespace WpfApplication1
{
   /// <summary>
   /// Interaction logic for MainWindow.xaml
   /// </summary>
   public partial class MainWindow : Window
   {
       public MainWindow()
       {
           InitializeComponent();
           FillGrid();
       }
       public void FillGrid()
       {
           string MyConnString = "server=10.17.0.81;" +
                                "database=vpbx_pabx;" +
                                "uid=asterisk;" +
                                "password=asterisk;";

           string sql = "SELECT * FROM cdr";

           using (MySqlConnection connection = new MySqlConnection(MyConnString))
           {
               connection.Open();
               using (MySqlCommand cmdSel = new MySqlCommand(sql, connection))
               {
                   DataTable dt = new DataTable();
                   MySqlDataAdapter da = new MySqlDataAdapter(cmdSel);
                   da.Fill(dt);
                   dataGrid1.DataContext = dt;
               }
               connection.Close();

           }
       }

   }
}

 

Não consigo preencher o DataGrid, onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou ao invés de usar:

 

 

 

dataGrid1.DataContext = dt;

 

 

Usar:

 

dataGrid1.DataSource = dt;

 

Caso não dê, veja se há um controle DataGridView ao invés de um datagrid.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Khaos, entendi aqui o que estava errado.

 

Achei um artigo no forum que ajudou demais da conta :)

 

o final do codigo ficou assim:

 


                   this.dataGrid1.DataContext = dt.Tables[0];
               }
               connection.Close();

           }
       }

       private void button1_Click(object sender, RoutedEventArgs e)
       {
           FillGrid();
       }

   }
}

 

Ja o arquivo XAML, era onde estava o maior problema.

 

Eu estava me perguntando que p**** é esse itemsource e ou databind que eu tinha q colocar...

 

Ai no artigo o Marcos Aguiar Jr da uma pincelada nisso e seguindo consegui corrigir os erros.

 

em todo caso Khaos, valeu demais pela ajuda tb :)

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.