pegar linha corrente (nova linha) datagridview
08/04/2010
0
Boa noite,
Estou trazendo dados do bd em um datagridview, ele traz n linhas , quando clico na ultima linha ele automaticamente cria uma nova linha para que novo registro seja digitado entao digito o texto da primeira celula, ai vou para segunda celula e ai faço um teste tentando pegar oq foi digitado na celula anterior ( ou seja estou na linha nova que foi gerada e ainda estou digitando todos os campos ) .
Como faço para pegar o conteudo que acabei de digitar na celula anterior ??? eu ja tentei usar o currentrow.cell e ele traz como se a celula fosse vazia. alguem teria alguma explicacao ou alguma ajuda ???
abç a todos...
Paulo Costa
Curtir tópico
+ 0
Responder
Posts
09/04/2010
Netasper
Faço desta forma:
namespace DESKTOP
{
public partial class Categoria : Form
{
private List<Categoria> c = new List<Categoria>();
private List<Departamento> g = new List<Departamento>(); public NEGOCIO.Perfil perfil;
public NEGOCIO.Categoria categoria;
public NEGOCIO.Departamento departamento; private int linhaAtual = -1; private string codCategoria;
private string codDepartamento;
private string dscCategoria;
private string dscDepartamento;
private string indAtivo; private void obtemDadosGrid()
{
codCategoria = dgvDados[0, linhaAtual].Value.ToString();
codDepartamento = dgvDados[1, linhaAtual].Value.ToString();
dscCategoria = dgvDados[2, linhaAtual].Value.ToString();
dscDepartamento = dgvDados[3, linhaAtual].Value.ToString();
indAtivo = dgvDados[4, linhaAtual].Value.ToString(); tbCodigo.Text = codCategoria;
tbDescricao.Text = dscCategoria;
cmDepartamentoEdicao.SelectedIndex = cmDepartamentoEdicao.FindString(dscDepartamento);
cbAtivoEdicao.Checked = (indAtivo == "S"); btExcluir.Enabled = btAlterar.Enabled = true;
}
private void dgvDados_CellClick(object sender, DataGridViewCellEventArgs e)
{
linhaAtual = int.Parse(e.RowIndex.ToString());
if (linhaAtual >= 0)
obtemDadosGrid();
} }
}
{
public partial class Categoria : Form
{
private List<Categoria> c = new List<Categoria>();
private List<Departamento> g = new List<Departamento>(); public NEGOCIO.Perfil perfil;
public NEGOCIO.Categoria categoria;
public NEGOCIO.Departamento departamento; private int linhaAtual = -1; private string codCategoria;
private string codDepartamento;
private string dscCategoria;
private string dscDepartamento;
private string indAtivo; private void obtemDadosGrid()
{
codCategoria = dgvDados[0, linhaAtual].Value.ToString();
codDepartamento = dgvDados[1, linhaAtual].Value.ToString();
dscCategoria = dgvDados[2, linhaAtual].Value.ToString();
dscDepartamento = dgvDados[3, linhaAtual].Value.ToString();
indAtivo = dgvDados[4, linhaAtual].Value.ToString(); tbCodigo.Text = codCategoria;
tbDescricao.Text = dscCategoria;
cmDepartamentoEdicao.SelectedIndex = cmDepartamentoEdicao.FindString(dscDepartamento);
cbAtivoEdicao.Checked = (indAtivo == "S"); btExcluir.Enabled = btAlterar.Enabled = true;
}
private void dgvDados_CellClick(object sender, DataGridViewCellEventArgs e)
{
linhaAtual = int.Parse(e.RowIndex.ToString());
if (linhaAtual >= 0)
obtemDadosGrid();
} }
}
Responder
Clique aqui para fazer login e interagir na Comunidade :)