Recuperar valor do DataGridView
21/06/2010
0
Thales Saraiva.
Post mais votado
22/06/2010
<code>
string valor = dataGridView1.CurrentRow.Cells["NomeDaColuna"].Value.ToString();
foreach (DataTable table in dataSet1.Tables)
{
foreach (DataRow row in table.Rows)
{
if (row.ItemArray[x].ToString() == valor)
{
id = row.ItemArray[y].ToString();
}
}
}
</code>
1 - Tenha certeza que a coluna "NomeDaColuna" possui valor, pois poderá gerar uma Exception;
2 - Substituir "x" no IF pelo respectivo índice da coluna, na tabela (base zero);
3 - Substituir "y" pelo índice correspondente ao ID.
4 - Se o DataSet possuir apenas uma tabela, você pode eliminar o primeiro FOREACH e substituir o segundo por: ... in table.Rows por ...in dataSet1.Tables[0].Rows.
Em tempo: busquei uma aplicação onde utilizo DataGridView e possuo colunas não visíveis que consigo ler os dados normalmente. Não sei dizer se se trata de algum atributo do DataGridView, pois não estou tendo o mesmo problema.
Um abraço.
Nilson Souza
Mais Posts
21/06/2010
Pedro Maitan
21/06/2010
Emerson Ferreira
21/06/2010
Thales Saraiva.
21/06/2010
Thales Saraiva.
21/06/2010
Thales Saraiva.
22/06/2010
Netasper
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DESKTOP
{
public partial class Cor : Form
{
private List<Cor> g = new List<Cor>();
public NEGOCIO.Cor cor;
public NEGOCIO.Perfil perfil;
private int linhaAtual = -1;
private string codCor;
private string nomCor;
private void Cor_Load(object sender, EventArgs e)
{
cor = new NEGOCIO.Cor();
perfil = new NEGOCIO.Perfil();
int codUsuario = Convert.ToInt32(Global.CodUsuario);
btExcluir.Visible = btNovo.Visible = btSalvar.Visible = (perfil.TipoPermissaoFormUsuario(codUsuario, NEGOCIO.Perfil.Perfis.PRODUTOS) == "E" || perfil.TipoPermissaoFormUsuario(codUsuario, NEGOCIO.Perfil.Perfis.ADMIN) == "E");
}
private void obtemDadosGrid()
{
codCor = dgvDados[0, linhaAtual].Value.ToString();
nomCor = dgvDados[1, linhaAtual].Value.ToString();
tbCodigo.Text = codCor;
tbDescricao.Text = nomCor;
btExcluir.Enabled = btAlterar.Enabled = true;
}
public Cor()
{
InitializeComponent();
}
private void Pesquisar()
{
tbDados.SelectedTab = tpExibicao;
string strPalavraChave = tbPesquisa.Text;
dgvDados.DataSource = cor.Buscar(0, strPalavraChave);
lbQdtRegistros.Text = String.Format("Registros encontrados: ", cor.Buscar(0, strPalavraChave).Count.ToString());
btExcluir.Enabled = btAlterar.Enabled = false;
LimparTela();
}
private void btPesquisa_Click(object sender, EventArgs e)
{
Pesquisar();
}
private void btFechar_Click(object sender, EventArgs e)
{
this.Close();
}
private void dgvDados_CellClick(object sender, DataGridViewCellEventArgs e)
{
linhaAtual = int.Parse(e.RowIndex.ToString());
if (linhaAtual >= 0)
obtemDadosGrid();
}
private void btVoltar_Click(object sender, EventArgs e)
{
LimparTela();
tbDados.SelectedTab = tpExibicao;
}
private void btExcluir_Click(object sender, EventArgs e)
{
string msg = String.Format("Tem certeza que deseja EXCLUIR o registro selecionado [código:] ?", codCor);
if (codCor != "" && codCor != null && linhaAtual >= 0)
{
if (MessageBox.Show(msg, "Excluir", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
try
{
int qtdAfetado = cor.Acao("D", Convert.ToInt32(codCor));
Global.MensagemRegistroAfetado("D", qtdAfetado);
}
catch (Exception err)
{
Global.MensagemRegistroAfetado("D", -1, err.Message);
}
}
}
Pesquisar();
}
private void btAlterar_Click(object sender, EventArgs e)
{
tbDados.SelectedTab = tpAcao;
}
private void btNovo_Click(object sender, EventArgs e)
{
LimparTela();
tbDados.SelectedTab = tpAcao;
}
private void btSalvar_Click(object sender, EventArgs e)
{
int codigo = Convert.ToInt32("0" + tbCodigo.Text);
string descricao = Convert.ToString("" + tbDescricao.Text);
string acao = (codigo == 0 ? "I" : "U");
if (descricao.Length > 0)
{
try
{
int qtdAfetado = cor.Acao(acao, codigo, descricao);
Global.MensagemRegistroAfetado(acao, qtdAfetado);
}
catch (Exception err)
{
Global.MensagemRegistroAfetado(acao, -1, err.Message);
}
Pesquisar();
}
else
{
MessageBox.Show("Preencha a DESCRIÇÃO da Cor.");
tbDescricao.Focus();
}
}
private void LimparTela()
{
linhaAtual = -1;
codCor = "";
nomCor = "";
tbCodigo.Text = "";
tbDescricao.Text = "";
}
}
}
23/06/2010
Thales Saraiva.
Clique aqui para fazer login e interagir na Comunidade :)