Usuário com melhor resposta
Selecionar uma linha do DataGridView, pegar os valores das células e carregar uma classe

Pergunta
-
Boa tarde pessoal.
Tenho um data Grid no C# e preciso pegar uma linha que for selecionada, preencher uma classe UF com suas respectivas células.
UFDTO UFDTO = new UFDTO();
UFDTO.IDUf = Célula 1;
UFDTO.Nome = Célula 2;
UFDTO.Sigla = Célula 3;
UFDTO.Pais.IDPais = Célula 4;
UFDTO.Pais.Nome = Célula 5;
UFDTO.Sistema = Célula 6;Alguém sabe como fazê-lo?
Abração!!
Respostas
-
Jalber,
if (DataGridName.SelectedRows.Count > 0)
{var row = DataGridName.SelectedRows[0];
var value = row.Cells["ColumnName"].Value;
}
Se tiver multiplas linhas selecionadas, vc pode fazer um foreach em SelectedRows.
Esperar que ajude.
- Marcado como Resposta Jalber Romano sexta-feira, 24 de julho de 2015 17:34
Todas as Respostas
-
-
Jalber,
if (DataGridName.SelectedRows.Count > 0)
{var row = DataGridName.SelectedRows[0];
var value = row.Cells["ColumnName"].Value;
}
Se tiver multiplas linhas selecionadas, vc pode fazer um foreach em SelectedRows.
Esperar que ajude.
- Marcado como Resposta Jalber Romano sexta-feira, 24 de julho de 2015 17:34
-
Obrigado Roni.
Consegui.... Assim ficou o fonte:
UFDTO UFSelecionada = new UFDTO();
if (dgPesquisar.SelectedRows.Count > 0)
{
var Row = dgPesquisar.SelectedRows[0];
UFSelecionada.IDUf = Convert.ToInt32(Row.Cells["IDUF"].Value);
UFSelecionada.Nome = Row.Cells["Nome"].Value.ToString();
UFSelecionada.Sigla = Row.Cells["Sigla"].Value.ToString();
UFSelecionada.Pais.IDPais = Convert.ToInt32(Row.Cells["IDPais"].Value);
UFSelecionada.Pais.Nome = Row.Cells["NomePais"].Value.ToString();
UFSelecionada.Sistema = Convert.ToBoolean(Row.Cells["Sistema"].Value);
}
frmUFCadastrar frm_UFCadastrar = new frmUFCadastrar(AcaoTela.VerAlterar, UFSelecionada);
DialogResult dialogResult = frm_UFCadastrar.ShowDialog();
if (dialogResult == DialogResult.Yes)
{
MontarDataGrid();
CarregarFonteDadosDataGridView("ConsultarTodos", "");
txbPesquisar.Focus();
}