none
Data Binding em DataGrid RRS feed

  • Pergunta

  • Pessoal, estou tendo um problema com minha DataGrid, na ligação de dados.

    Eu tenho o UserControl com um DataGrid que deixei o XAML da seguinte forma:

    <DataGrid x:Name="dataGridPerfilVaga" Canvas.Left="213" Canvas.Top="144" Width="1023" Height="350" 
                        VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible" SelectionMode="Single"
    				    AutoGenerateColumns="False" IsReadOnly="True" GridLinesVisibility="All">
                        <DataGrid.Columns>
                            <DataGridTextColumn x:Name="codigo" Header="Código" Binding="{Binding Codigo}"/>
                            <DataGridTemplateColumn Header="Descrição">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Descricao}">
                                            <TextBlock.ToolTip>
                                                <TextBlock Text="{Binding DescricaoAtribuicao}"/>
                                            </TextBlock.ToolTip>
    				    </TextBlock>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                            <DataGridTextColumn Header="Pontuação Min" Binding="{Binding PontuacaoMin}"/>
                            <DataGridTextColumn Header="Pontuação Med" Binding="{Binding PontuacaoMed}"/>
                            <DataGridTextColumn Header="Pontuação Max" Binding="{Binding PontuacaoMax}"/>
                        </DataGrid.Columns>
                    </DataGrid>

    Preciso dessa maneira porém quando eu inicializo essa UserControl, ele carrega alguns dados com esses Paths.

    O problema esta sendo quando eu faço uma pesquisa no banco e os Paths mudam, porem se eu deixar dessa forma e fazer a pesquisa, ele adiciona apenas as linhas no datagrid, mas vazio!

    Faço a pesquisa e adiciono da seguinte forma:

    dataGridPerfilVaga.SetBinding(ItemsControl.ItemsSourceProperty, new Binding { 
                        Source = vagaDao.localizarVagaPerfilAtribuicoes(Convert.ToInt32(textCodigoVaga.Text)) });

    Dai no Binding teria que ser outro nome para poder adicionar os itens da minha pesquisa.

    Alguma maneira de consertar isso ou alguma lógica que funcione?

    Abraço.



    • Editado EmersonJau quarta-feira, 24 de junho de 2015 15:35
    quarta-feira, 24 de junho de 2015 12:20

Respostas

  • Olá Emerson, descobri qual era o problema, o Alias no select estava vindo todo minusculo, sendo assim ele estava retornando como codigo e não Codigo, ocasionando o seu problema de não exibir os dados na tela.

    Para resolver o problema, você precisa colocar o nome do Alias entre aspas, segue o código abaixo.

    NpgsqlCommand sql = new NpgsqlCommand("SELECT ite_codigo_perfil as \"Codigo\", ite_descricao as \"Descricao\", ite_pontuacaomin, ite_pontuacaomed, " +
                       "ite_pontuacaomax FROM items_atribuicao WHERE ite_codigo_perfil = " + codigo + "", conexao.conexao);

    Testei aqui e funcionou perfeitamente.

    Abraço!

    • Marcado como Resposta EmersonJau quinta-feira, 25 de junho de 2015 13:08
    quinta-feira, 25 de junho de 2015 12:45

Todas as Respostas

  • Olá Emerson, você pode setar diretamente a propriedade ItemsSource.

    var listaRetornada = vagaDao.localizarVagaPerfilAtribuicoes(Convert.ToInt32(textCodigoVaga.Text));
                dataGridPerfilVaga.ItemsSource = listaRetornada;

    quarta-feira, 24 de junho de 2015 12:39
  • Olá Bruno, obrigado pela ajuda novamente.

    Mas dessa forma, ele da um erro cara:

    Cannot implicitly convert type 'System.Data.DataTable' to 'System.Collections.IEnumerable'. An explicit conversion exists (are you missing a cast?)

    Foi por isso que tentei daquela maneira, pelo setBinding

    Meu método localizarVagaPerfilAtribuicoes retorna um DataTable

    • Editado EmersonJau quarta-feira, 24 de junho de 2015 12:52
    quarta-feira, 24 de junho de 2015 12:44
  • Tenta então o seguinte Emerson.

    var listaRetornada = vagaDao.localizarVagaPerfilAtribuicoes(Convert.ToInt32(textCodigoVaga.Text));
                dataGridPerfilVaga.ItemsSource = listaRetornada.DefaultView;


    quarta-feira, 24 de junho de 2015 12:59
  • Dessa forma ele adiciona as linhas normalmente, mas os itens não aparecem no meu DataGrid. Isso acontece pq no meu XAML já tem Path né? Porém se eu tirá-los de lá, ele pesquisa normalmente.

    Mas não posso fazer isso se não outra funcionalidade minha para de funcionar.

    quarta-feira, 24 de junho de 2015 13:04
  • Como tu seta os paths?
    quarta-feira, 24 de junho de 2015 13:18
  • Esta no XAML ali na pergunta...

    <DataGridTextColumn Header="Código" Binding="{Binding Codigo}"/>

    Tem um outro de Atribuições.

    quarta-feira, 24 de junho de 2015 13:21
  • Eu quis dizer como tu faz para carregar os dados a primeira vez.
    quarta-feira, 24 de junho de 2015 13:30
  • Daquela maneira que vc me ajudou da outra vez:

    if (e.Key == Key.F2){
                    atribVagas = new Consultas.AtribuicaoVaga();
                    atribVagas.ShowDialog();
    
                    textCodigoAtribuicoes.Text = Convert.ToString(atribVagas.Guia);
    
                    dataGridPerfilVaga.ItemsSource = atribVagas.EditList;
    
    }

    IList<Modelos.PerfilVagaAtribuicoes> _editList = new ObservableCollection<Modelos.PerfilVagaAtribuicoes>();
            public IList<Modelos.PerfilVagaAtribuicoes> EditList
            {
                get
                {
                    return _editList;
                }
            }

    Eu recupero de um outro DataGrid.

    quarta-feira, 24 de junho de 2015 13:34
  • O problema então agora é que quando você faz um"filtro" nesses dados ele aparece apenas as linhas e não as informações?
    quarta-feira, 24 de junho de 2015 13:40
  • Exato Bruno. =/
    quarta-feira, 24 de junho de 2015 13:43
  • O problema acontece pois ele não está conseguindo achar as propriedades Codigo e Descrição nos items que estão no ItemsSource, se você abrir o Output na execução do programa, você via ver que ele vai dar vários erros de Binding Not found.

    Engraçado pois eu fiz aqui e funcionou perfeitamente.

    quarta-feira, 24 de junho de 2015 14:03
  • Quais colunas tem a consulta na qual o método "localizarVagaPerfilAtribuicoes" retorna?
    quarta-feira, 24 de junho de 2015 14:05
  • Então Bruno, eu tenho 5 colunas. Segue o meu Método:

    public DataTable localizarVagaPerfilAtribuicoes(int codigo)
            {
                try
                {
                    conexao = new Conexao.Conexao();
                    conexao.conectar();
    
                    NpgsqlCommand sql = new NpgsqlCommand("SELECT ite_codigo_perfil, ite_descricao, ite_pontuacaomin, ite_pontuacaomed, "+
                        "ite_pontuacaomax FROM items_atribuicao WHERE ite_codigo_perfil = " + codigo + "", conexao.conexao);
    
                    NpgsqlDataAdapter adapter = new NpgsqlDataAdapter();
                    adapter.SelectCommand = sql;
    
                    DataTable itemsAtribuicao = new DataTable();
                    adapter.Fill(itemsAtribuicao);
    
                    return itemsAtribuicao;
    
                }
                catch (NpgsqlException erro)
                {
                    throw erro;
                }
            }

    O código e a Descrição eu quero que mostre apenas quando eu escolho as opções do outro UserControl.

    Mas nesse meu caso quando faz a pesquisa, gostaria que mostrasse esses outros campos... Que no caso são 5 Colunas..

    Detalhe Bruno, se eu colocar 'ite_codigo_perfil' no Path do meu código no XML, ele funciona. Mas para de funcionar quando eu trazer algum outro item para tela, quando ele busca de um outro UserControl ao selecionar. (Aquele que vc me ajudou)

    Eu alterei a pergunta Bruno, da uma olhada. Eu coloquei o XAML completo do DataGrid.


    • Editado EmersonJau quarta-feira, 24 de junho de 2015 15:52
    quarta-feira, 24 de junho de 2015 15:32
  • Ai que está seu problema, na consulta que é retornada para o DataGrid ele não tem a coluna Codigo nem Descricao para poder fazer o Binding correto, você pode resolver este problema fazendo um Alias no próprio select.

    NpgsqlCommand sql = new NpgsqlCommand("SELECT ite_codigo_perfil as Codigo, ite_descricao as Descricao, ite_pontuacaomin, ite_pontuacaomed, " +
                       "ite_pontuacaomax FROM items_atribuicao WHERE ite_codigo_perfil = " + codigo + "", conexao.conexao);


    No código acima eu apenas fiz um Alias da coluna ite_codigo_perfil para Codigo e ite_descricao para Descricao para que na hora em que o ItemSource for setado com esse DataTable ele tenha da onde buscar as informações de Codigo e Descricao. Caso tenha alguma outra coluna você vai precisar fazer o Alias para o Binding usado.

    Esse Alias eu fiz com base no SQLite, se der algum erro no select, favor verificar a sintaxe de Alias no banco que está usando.



    quarta-feira, 24 de junho de 2015 16:17
  • Bruno, eu entendi perfeitamente. Era pra funcionar agora cara mas não entendi o  pq de não deu certo.

    Tentei fazer o Alias para todas as colunas tbm correspondendo as que estão no XAML mas mesmo assim não deu... =/

    Está aparecendo as linhas, menos o que interessa que são os dados.

    • Editado EmersonJau quarta-feira, 24 de junho de 2015 16:28
    quarta-feira, 24 de junho de 2015 16:27
  • Você setando o DataSource como no código abaixo?

    var listaRetornada = vagaDao.localizarVagaPerfilAtribuicoes(Convert.ToInt32(textCodigoVaga.Text));
                dataGridPerfilVaga.ItemsSource = listaRetornada.DefaultView;

    Se possível, habilite a janela de Output, tire uma print e poste aqui por favor.

    Para habilitar, vá em View-> Output.

    quarta-feira, 24 de junho de 2015 16:48
  • Estou sim Bruno, dessa forma que vc me mostrou...

    Segue abaixo, copiei...

    'Curriculos.vshost.exe' (CLR v4.0.30319: Curriculos.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXml\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    'Curriculos.vshost.exe' (CLR v4.0.30319: Curriculos.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\UIAutomationTypes\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationTypes.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    'Curriculos.vshost.exe' (CLR v4.0.30319: Curriculos.vshost.exe): Loaded 'C:\Users\usuario\Documents\Visual Studio 2013\Projects\Curriculos\Curriculos\bin\Debug\WPF.MDI.dll'. Cannot find or open the PDB file.
    'Curriculos.vshost.exe' (CLR v4.0.30319: Curriculos.vshost.exe): Loaded 'C:\Users\usuario\Documents\Visual Studio 2013\Projects\Curriculos\Curriculos\bin\Debug\System.Windows.Interactivity.dll'. Cannot find or open the PDB file.
    'Curriculos.vshost.exe' (CLR v4.0.30319: Curriculos.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\UIAutomationProvider\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationProvider.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    'Curriculos.vshost.exe' (CLR v4.0.30319: Curriculos.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    'Curriculos.vshost.exe' (CLR v4.0.30319: Curriculos.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemData\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemData.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    'Curriculos.vshost.exe' (CLR v4.0.30319: Curriculos.vshost.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemCore\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemCore.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=39722146)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=39722146); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=39722146)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=39722146); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=39722146)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=39722146); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=39722146)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=39722146); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=39722146)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=39722146); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=66717766)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=66717766); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=66717766)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=66717766); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=66717766)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=66717766); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=66717766)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=66717766); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=66717766)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=66717766); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=51073860)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=51073860); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=51073860)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=51073860); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=51073860)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=51073860); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=51073860)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=51073860); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=51073860)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=51073860); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=13653480)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=13653480); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=13653480)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=13653480); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=13653480)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=13653480); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=13653480)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=13653480); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=13653480)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=13653480); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=22921788)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=22921788); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=22921788)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=22921788); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=22921788)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=22921788); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=22921788)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=22921788); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=22921788)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=22921788); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=269233)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=269233); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=269233)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=269233); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=269233)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=269233); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=269233)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=269233); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=269233)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=269233); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=11038559)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=11038559); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=11038559)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=11038559); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=11038559)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=11038559); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=11038559)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=11038559); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=11038559)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=11038559); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=49927752)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=49927752); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=49927752)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=49927752); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=49927752)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=49927752); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=49927752)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=49927752); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=49927752)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=49927752); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Codigo' property not found on 'object' ''DataRowView' (HashCode=33771924)'. BindingExpression:Path=Codigo; DataItem='DataRowView' (HashCode=33771924); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'Descricao' property not found on 'object' ''DataRowView' (HashCode=33771924)'. BindingExpression:Path=Descricao; DataItem='DataRowView' (HashCode=33771924); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMin' property not found on 'object' ''DataRowView' (HashCode=33771924)'. BindingExpression:Path=PontuacaoMin; DataItem='DataRowView' (HashCode=33771924); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMed' property not found on 'object' ''DataRowView' (HashCode=33771924)'. BindingExpression:Path=PontuacaoMed; DataItem='DataRowView' (HashCode=33771924); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    System.Windows.Data Error: 40 : BindingExpression path error: 'PontuacaoMax' property not found on 'object' ''DataRowView' (HashCode=33771924)'. BindingExpression:Path=PontuacaoMax; DataItem='DataRowView' (HashCode=33771924); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
    The thread 0x1ac8 has exited with code 259 (0x103).
    The thread 0x1848 has exited with code 259 (0x103).
    The program '[5860] Curriculos.vshost.exe' has exited with code 0 (0x0).

    quarta-feira, 24 de junho de 2015 16:56
  • Bah, tinha tudo para dar certo o código que eu te mandei.

    A última coisa que posso fazer para te ajudar se você me mandar, se possível, esse teu projeto para que eu possa dar uma olhada.


    quarta-feira, 24 de junho de 2015 17:25
  • Posso mandar sim cara, me manda seu email...
    quarta-feira, 24 de junho de 2015 17:36
  • bruno_ti_2012@hotmail.com
    quarta-feira, 24 de junho de 2015 17:42
  • Mandei Bruno, precisei dividir em duas partes.. ^^
    • Editado EmersonJau quarta-feira, 24 de junho de 2015 17:58
    quarta-feira, 24 de junho de 2015 17:58
  • Beleza Emerson, obrigado.

    Assim que possível eu dou uma olhada e vejo se consigo descobrir o problema.

    quarta-feira, 24 de junho de 2015 18:54
  • Obrigado Bruno!
    quarta-feira, 24 de junho de 2015 18:55
  • Outra coisa, consegue me mandar o banco se possível?
    quarta-feira, 24 de junho de 2015 19:02
  • Já mandei Bruno.
    quarta-feira, 24 de junho de 2015 19:14
  • Olá Emerson, descobri qual era o problema, o Alias no select estava vindo todo minusculo, sendo assim ele estava retornando como codigo e não Codigo, ocasionando o seu problema de não exibir os dados na tela.

    Para resolver o problema, você precisa colocar o nome do Alias entre aspas, segue o código abaixo.

    NpgsqlCommand sql = new NpgsqlCommand("SELECT ite_codigo_perfil as \"Codigo\", ite_descricao as \"Descricao\", ite_pontuacaomin, ite_pontuacaomed, " +
                       "ite_pontuacaomax FROM items_atribuicao WHERE ite_codigo_perfil = " + codigo + "", conexao.conexao);

    Testei aqui e funcionou perfeitamente.

    Abraço!

    • Marcado como Resposta EmersonJau quinta-feira, 25 de junho de 2015 13:08
    quinta-feira, 25 de junho de 2015 12:45
  • Grande Bruno, era isso mesmo.. Funcionou do jeito que eu precisava aqui... Obrigadoo!!! ^^
    quinta-feira, 25 de junho de 2015 13:08