Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Mezz

[c#][WPF] Problema com Datagrid que não grava os dados inseridos [Resolvido]

Mensagens Recomendadas

Mezz

Boa noite,

O problema é o seguinte, eu tenho uma datagrid que expõe uma list de objectos mas no entanto não deixa adicionar novos elementos nem realmente altera os dados quando edito na grid.

O meu novo problema é agora a datagrid não estar a guardar os dados inseridos.

public ObservableCollection<BolaInfo> bolas;
.
.
.
public IniciaSim()
	{
                  this.InitializeComponent();
                  this.bolas = new ObservableCollection<BolaInfo>();
                  bolas.Add(new BolaInfo(12, 25, 58, 73, 110));
                 }

private void Introduzir_Click(object sender, RoutedEventArgs e)
        {
            if (rendering)
            {
                plotCanvas.Children.Clear();
                CompositionTarget.Rendering -= RenderFrame;
                rendering = false;
            }

            DataGrid dados = new DataGrid();
            dados.Width = plotCanvas.ActualWidth;
            dados.Height = plotCanvas.ActualHeight;
            dados.ColumnWidth = 128;
            dados.IsReadOnly = false;            
            dados.IsEnabled = true;
            IEditableCollectionView EdView = dados.Items as IEditableCollectionView;
            //EdView.CanAddNew = true;
            //EdView.CanCancelEdit = true;
            //EdView.CanRemove = true;
            dados.AutoGenerateColumns = true;
            dados.CanUserResizeColumns = false;
            dados.CanUserReorderColumns = false;
            dados.CanUserAddRows = true;
            dados.CanUserDeleteRows = true;
            dados.ItemsSource = bolas;

           plotCanvas.Children.Add(dados);
         }

Ao colocar um breakpoint na linha "dados.CanUserAddRows = true;" ele muda o valor para false. Porquê gostava eu de saber e porque não me está guardar automaticamente as edições feitas (visto que o delete está a funcionar correctamente).

Cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
saramgsilva

Eu acho que isto não está bem:

  IEditableCollectionView EdView = dados.Items as IEditableCollectionView;

  EdView.CanAddNew = true;

  EdView.CanCancelEdit = true;

  EdView.CanRemove = true;

deve ser:

  dados.CanAddNew = true;

  dados.CanCancelEdit = true;

  dados.CanRemove = true;

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Mezz

Jà tinha visto e já resolvi parte do problema, a class a qual está associada  a observable collection não podia ter um constructor com argumentos.

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.