Inserindo dados no DataGridView

26/05/2017

0

C#

Boa tarde galera!

estou criando uma agenda e preciso de uma ajuda.

Tenho dois formulários, o form 1 que possui o grid da agenda com os seguintes dados (ID, HORARIO, STATUS, DATA, NOME, DT_NASCIM, MEDICO, ESPECIALIDADE) e o form 2 que possui 8 textBox para a pessoa preencher os dados para agendar um paciente.

Gostaria de saber como eu faço para quando a pessoa clicar no botão SALVAR do form 2, os dados preenchidos no textBox serem inseridos no grid do form1 ?
Rafaela Fernandes

Rafaela Fernandes

Responder

Post mais votado

27/05/2017

Boa noite Rafaela.

Bom, não sei qual a forma de dados que você está usando, se você está utilizando uma Sessão ou buscando informações diretamente do Banco de Dados para preencher o seu DataGridView.

O importante é você se atentar em sempre alimentar o seu DataGridView com uma Lista, e procurar ficar atento no nome de cada item do objeto que deverá seguir a mesma nomenclatura:


Abaixo, segue um exemplo desenvolvido em webform e utilizando sessão:


=> PASSO 1: Crie uma classe chamado CLASSE_DADOS:

public class CLASSE_DADOS
{
public int ID { get; set; }
public string NOME { get; set; }
public string HORARIO { get; set; }
public string STATUS { get; set; }
}




=> PASSO 2: No seu form 2, adicionar o código abaixo dentro da função do seu botão "Salvar":

protected void BotaoSalvar_Click(object sender, EventArgs e)
{
var vLista1 = new List<CLASSE_DADOS>();
var vDados = new CLASSE_DADOS();
vDados.NOME = InputNome.Text;
vDados.HORARIO = InputHorario.Text;
vDados.STATUS = InputStatus.Text;

var vLista = (List<CLASSE_DADOS>)Session["ListaAgenda"];

if (vLista != null)
{
vDados.ID = vLista.Count + 1;
vLista.Add(vDados);
Session["ListaAgenda"] = vLista;
}

else
{
vDados.ID = 1;
vLista1.Add(vDados);
Session["ListaAgenda"] = vLista1;
}
}


=> PASSO 3: CRIAR NO SEU FORM 1, UM MÉTODO PARA PREENCHER O SEU GRID E CHAMA-LO QUANDO QUISER NA TELA:

private void CarregaTabelaGridAgenda()
{
var vListaAgenda = (List<CLASSE_DADOS>)Session["ListaAgenda"];
TabelaAgenda.DataSource = vListaAgenda;
TabelaAgenda.DataBind();
}


OBSERVAÇÕES: É importante que as colunas do seu grid, tenha as mesmas nomenclaturas da sua lista, ou seja, utilizei a lista do objeto CASSE_DADOS que contém os itens ID, NOME, HORARIO, STATUS, logo eu terei que ter no meu grid, uma coluna para cada item deste que eu queira que seja exibido:

Segue abaixo o html do grid:

<asp:GridView ID="TabelaAgenda" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="NOME" HeaderText="Nome" />
<asp:BoundField DataField="HORARIO" HeaderText="Horário" />
<asp:BoundField DataField="STATUS" HeaderText="Status" />
</Columns>
</asp:GridView>

Espero ter ajudado. Abs ;)

Allison Morais

Allison Morais
Responder

Mais Posts

29/05/2017

Rafaela Fernandes

Allison, bom dia!

Muito obrigada pelo retorno!

O DataGrid eu criei como se fosse uma classe no c#. (PROJECT / ADD CLASS / SERVICE-BASED DATABASE).

A palavra SESSION não existe no c#, você sabe me dizer o que eu posso usar no lugar ?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar