none
Alterar Datagrid RRS feed

  • Pergunta

  • DataTable table = new DataTable();
            int IndexRow;
    
            private void Update_DataGridView_Using_TextBoxes_Load(object sender, EventArgs e)
            {
                dataGridView4.DataSource = table;
               
            }
    
     public void alterar()
            {
    
                DataGridViewRow newDataRow = dataGridView4.Rows[IndexRow];
                newDataRow.Cells[1].Value = dateDia.Text;
                newDataRow.Cells[2].Value = dateTime.Text;
                newDataRow.Cells[3].Value = txtProc.Text;
                newDataRow.Cells[4].Value = txtNome.Text;
                newDataRow.Cells[5].Value = txtAudiencia.Text;
                newDataRow.Cells[6].Value = txtConselho.Text;
                newDataRow.Cells[7].Value = txtDefesa.Text;
                newDataRow.Cells[8].Value = cboJuiz.Text;
    
             }
    
    private void button1_Click(object sender, EventArgs e)
            {
                alterar();
                
            }
    
     private void dataGridView4_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
    
                IndexRow = e.RowIndex;
    
                    DataGridViewRow row = dataGridView4.Rows[IndexRow];
    
                    dateDia.Text = row.Cells[1].Value.ToString();
                    dateTime.Text = row.Cells[2].Value.ToString();
                    txtProc.Text = row.Cells[3].Value.ToString();
                    txtNome.Text = row.Cells[4].Value.ToString();
                    txtAudiencia.Text = row.Cells[5].Value.ToString();
                    txtConselho.Text = row.Cells[6].Value.ToString();
                    txtDefesa.Text = row.Cells[7].Value.ToString();
                    cboJuiz.Text = row.Cells[8].Value.ToString();
    
                   
                
            }

    Galera Como faço para alterar as informações na textebox e elas serem alteradas na gridview e no banco?

    Consigo passar as informaçoes contidas na gridview para a textbox com esse codigo mais ele não altera.

    O que eu faço?



    • Editado SouthNew segunda-feira, 19 de setembro de 2016 13:23
    segunda-feira, 19 de setembro de 2016 12:31

Respostas

  • public void alterar()
    {
    		if (IndexRow >= 0 || IndexRow < dataGridView4.Rows.Count)
    		{
    			dataGridView4[1, IndexRow].Value = dateDia.Text;
    	                dataGridView4[2, IndexRow].Value = dateTime.Text;
            	        dataGridView4[3, IndexRow].Value = txtProc.Text;
                    	dataGridView4[4, IndexRow].Value = txtNome.Text;
                   	        dataGridView4[5, IndexRow].Value = txtAudiencia.Text;
                   	        dataGridView4[6, IndexRow].Value = txtConselho.Text;
                   	        dataGridView4[7, IndexRow].Value = txtDefesa.Text;
                    	dataGridView4[8, IndexRow].Value = cboJuiz.Text;
    		}
    }
    
    
    

    Desculpe, erro meu,  troquei os nomes..

    Tenta agora.

    • Marcado como Resposta SouthNew segunda-feira, 19 de setembro de 2016 19:29
    segunda-feira, 19 de setembro de 2016 15:04
  • Isso ai só modifica as informações do DataGridView para modificar as informações no banco melhor você dar uma olhada nesse tutorial.

    http://www.c-sharpcorner.com/uploadfile/1e050f/insert-update-and-delete-record-in-datagridview-c-sharp/

    Espero ter ajudado.

    Att.

    Michael

    • Marcado como Resposta SouthNew segunda-feira, 19 de setembro de 2016 19:29
    segunda-feira, 19 de setembro de 2016 15:21

Todas as Respostas

  • public void alterar()
            {
    
                DataGridViewRow newDataRow = dataGridView4.Rows[IndexRow];
                newDataRow.Cells[1].Value = dateDia.Text;
                newDataRow.Cells[2].Value = dateTime.Text;
                newDataRow.Cells[3].Value = txtProc.Text;
                newDataRow.Cells[4].Value = txtNome.Text;
                newDataRow.Cells[5].Value = txtAudiencia.Text;
                newDataRow.Cells[6].Value = txtConselho.Text;
                newDataRow.Cells[7].Value = txtDefesa.Text;
                newDataRow.Cells[8].Value = cboJuiz.Text;
    
                dataGridView4.Rows[IndexRow] = newDataRow;
             }


    Espero ter ajudado.

    Att.
    Michael.


    segunda-feira, 19 de setembro de 2016 14:00
  • Esta dando esse erro ao adicionar essa linha. O que fazer?

    Error 1 Property or indexer 'System.Windows.Forms.DataGridViewRowCollection.this[int]' cannot be assigned to -- it is read only


    • Editado SouthNew segunda-feira, 19 de setembro de 2016 15:05
    segunda-feira, 19 de setembro de 2016 14:17
  • public void alterar()
    {
    		if (IndexRow >= 0 || IndexRow < newDataRow.Rows.Count)
    		{
    			newDataRow[1, IndexRow].Value = dateDia.Text;
    	                newDataRow[2, IndexRow].Value = dateTime.Text;
            	        newDataRow[3, IndexRow].Value = txtProc.Text;
                    	newDataRow[4, IndexRow].Value = txtNome.Text;
                   	        newDataRow[5, IndexRow].Value = txtAudiencia.Text;
                   	        newDataRow[6, IndexRow].Value = txtConselho.Text;
                   	        newDataRow[7, IndexRow].Value = txtDefesa.Text;
                    	newDataRow[8, IndexRow].Value = cboJuiz.Text;
    		}
    }
    
    

    Tenta atribuir o valor diretamente, desta forma.

    Att.
    Michael


    segunda-feira, 19 de setembro de 2016 14:50
  • também ta dando erro. Por favor me ajudem.

    Error 1 The name 'newDataRow' does not exist in the current context
    • Editado SouthNew segunda-feira, 19 de setembro de 2016 15:05
    segunda-feira, 19 de setembro de 2016 14:54
  • public void alterar()
    {
    		if (IndexRow >= 0 || IndexRow < dataGridView4.Rows.Count)
    		{
    			dataGridView4[1, IndexRow].Value = dateDia.Text;
    	                dataGridView4[2, IndexRow].Value = dateTime.Text;
            	        dataGridView4[3, IndexRow].Value = txtProc.Text;
                    	dataGridView4[4, IndexRow].Value = txtNome.Text;
                   	        dataGridView4[5, IndexRow].Value = txtAudiencia.Text;
                   	        dataGridView4[6, IndexRow].Value = txtConselho.Text;
                   	        dataGridView4[7, IndexRow].Value = txtDefesa.Text;
                    	dataGridView4[8, IndexRow].Value = cboJuiz.Text;
    		}
    }
    
    
    

    Desculpe, erro meu,  troquei os nomes..

    Tenta agora.

    • Marcado como Resposta SouthNew segunda-feira, 19 de setembro de 2016 19:29
    segunda-feira, 19 de setembro de 2016 15:04
  • Continua só passando a datagrid para a textbox. Quando troco a informação que esta no textbox por outra e clico no botão para alterar ela não faz nada

    Por favor me ajudem a resolver esse problema

    segunda-feira, 19 de setembro de 2016 15:09
  • Isso ai só modifica as informações do DataGridView para modificar as informações no banco melhor você dar uma olhada nesse tutorial.

    http://www.c-sharpcorner.com/uploadfile/1e050f/insert-update-and-delete-record-in-datagridview-c-sharp/

    Espero ter ajudado.

    Att.

    Michael

    • Marcado como Resposta SouthNew segunda-feira, 19 de setembro de 2016 19:29
    segunda-feira, 19 de setembro de 2016 15:21