2
respostas

Não é possível adicionar linhas programaticamente à coleção de linhas de DataGridView quando o controle é associado a dados

System.InvalidOperationException HResult=0x80131509 Message=Não é possível adicionar linhas programaticamente à coleção de linhas de DataGridView quando o controle é associado a dados. Source=System.Windows.Forms StackTrace: em System.Windows.Forms.DataGridViewRowCollection.Add(DataGridViewRow dataGridViewRow) em LivrariaDesapegosDaSte.Dados.LivroDB.AtualizaGrid(DataGridView dtGrid) em C:\Users\Igor\source\repos\LivrariaDesapegosDaSte\LivrariaDesapegosDaSte\Dados\LivroDB.cs:linha 212 em LivrariaDesapegosDaSte.UC.EstoqueUC.btn_Preencher_Click(Object sender, EventArgs e) em C:\Users\Igor\source\repos\LivrariaDesapegosDaSte\LivrariaDesapegosDaSte\UC\EstoqueUC.cs:linha 24 em System.Windows.Forms.Control.OnClick(EventArgs e) em System.Windows.Forms.Button.OnClick(EventArgs e) em System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) em System.Windows.Forms.Control.WndProc(Message& m) em System.Windows.Forms.ButtonBase.WndProc(Message& m) em System.Windows.Forms.Button.WndProc(Message& m) em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) em System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) em System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) em System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) em System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) em System.Windows.Forms.Application.Run(Form mainForm) em LivrariaDesapegosDaSte.Program.Main() em C:\Users\Igor\source\repos\LivrariaDesapegosDaSte\LivrariaDesapegosDaSte\Program.cs:linha 19

Esta exceção foi gerada originalmente nesta pilha de chamadas: [Código Externo] LivrariaDesapegosDaSte.Dados.LivroDB.AtualizaGrid(System.Windows.Forms.DataGridView) em LivroDB.cs LivrariaDesapegosDaSte.UC.EstoqueUC.btn_Preencher_Click(object, System.EventArgs) em EstoqueUC.cs [Código Externo] LivrariaDesapegosDaSte.Program.Main() em Program.cs

` public void AtualizaGrid(DataGridView dtGrid)
    {
        var lista = this.BuscarTodosLivros();

        for (int i = 0; i < lista.Count; i++)
        {
            DataGridViewRow row = new DataGridViewRow();
            row.CreateCells(dtGrid);
            row.Cells[0].Value = lista[i][0].ToString();
            row.Cells[1].Value = lista[i][1].ToString();
            row.Cells[2].Value = lista[i][2].ToString();
            row.Cells[3].Value = lista[i][3].ToString();
            row.Cells[4].Value = lista[i][4].ToString();
            row.Cells[5].Value = lista[i][5].ToString();

            dtGrid.Rows.Add(row);
        }
    }`
2 respostas

Resolvido! Meu erro foi ter escolhido um DataSource ao criar o DataGridView.

Olá Igor, tudo certo?

Excelente que conseguiu resolver.

Qualquer dúvida estamos por aqui.

Abraços e bons estudos!