amanda12 0 Denunciar post Postado Fevereiro 17, 2009 PESSOAL TO APRENDENDO MUITO COM você´S, EU TO PRECISANDO SABER COMO FAÇO PARA POPULAR UM GRIDVIEW W COM A ESCOLHA DO USUÁRIO EM UMA LINHA DA GRID ELE PREENCHA AUTOMÁTICO AS COMBOS ABAIXO E DEPOIS EU CLICO NO BOTÃO ALTERAR E ALTERO A TABELA EMPLOYEES DO SQLSERVER using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void textBox1_TextChanged(object sender, EventArgs e) { } private void textBox2_TextChanged(object sender, EventArgs e) { } private void textBox3_TextChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { } } } NO MEU FORM TEM 1 GRID VIEW 3 TEXTBOX 1 BOTÃO DE ALTERAR Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 17, 2009 De uma olhada nesses links: http://social.msdn.microsoft.com/forums/pt...9-7d3c0cea76d4/ http://msdn.microsoft.com/en-us/library/sy...datasource.aspx Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
amanda12 0 Denunciar post Postado Fevereiro 17, 2009 Valew quintelab mas só achei para VB eu to aprendendo C# Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Fevereiro 17, 2009 De forma simplificada é: //aqui você abre a conexão //cria um objeto do tipo SqlCommand, atribua o comando sql e executa assim: this.seuGridView.DataSource = cmd.ExecuteReader(); this.seuGridView.DataBind(); Att, Guilherme Oenning. Compartilhar este post Link para o post Compartilhar em outros sites
Flavio Tajiri 0 Denunciar post Postado Fevereiro 17, 2009 Olá, guilherme. Tentei fazer o que você descreveu acima mas não deu certo. // ConnectionFactory.getConnection() retorna uma SqlConnection using(SqlConnection connection = ConnectionFactory.getConnection()) { connection.Open(); using (SqlCommand command = new SqlCommand("SELECT * FROM Produto", connection)) { this.dataGridView1.DataSource = command.ExecuteReader(); } connection.Close(); } E o método DataBind() não existe no DataGridView (pelo menos não no Visual Studio 2008 que eu tenho....) a não ser que haja um DataGrid somente que eu não conheço. Normalmente eu encapsulo toda a conexão com o banco de dados em uma classe DAO reduzindo a quantidade de código sql espalhado pela aplicação. Dá MUUUITO mais trabalho mas acho que fica mais organizado. Compartilhar este post Link para o post Compartilhar em outros sites
amanda12 0 Denunciar post Postado Fevereiro 17, 2009 Aqui tbm não deu certo não!! Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Fevereiro 18, 2009 Flavio, você deve continuar usando DAO, espalhar objetos SqlConnection por toda aplicação é complicado. DataBind é para o GridView do ASP.NET, confundi :D DataReader não vai funcionar com o DataGridView, você terá que usar DataSet. using (SqlConnection conn = new SqlConnection(@"Data Source=NOTE-OENNING\SQLEXPRESS;Initial Catalog=budwii;Integrated Security=True")) { conn.Open(); SqlDataAdapter da = new SqlDataAdapter("SELECT Status FROM Processamento", conn); DataTable dt = new DataTable(); da.Fill(dt); this.dataGridView1.AutoGenerateColumns = true; this.dataGridView1.DataSource = dt; } A explicação é que DataReader é forward-only e read-only, a DataGridView trabalha com edição direto na fonte, no caso o DataReader. (Retirada do MSDN). Att, Guilherme Oenning Compartilhar este post Link para o post Compartilhar em outros sites
Flavio Tajiri 0 Denunciar post Postado Fevereiro 18, 2009 Valeu, eu imaginei que esse seria o problema. Um jeito fácil e "sem codificação" de popular um DataGridView (C#) é criar um dataset utilizando o Wizard: Depois de colocar um DataGridView no seu formulário, vá na propriedade DataSource e escolha a opção "Add project DataSource..." A janela de Wizard vai aparecer. Escolha Database, e clique em Next. No próximo passo aperte o botão "New Connection..." e crie uma nova conexão com o banco de dados, teste a conexão, escolha uma das opções de sensitive data e aperte Next e depois Next de novo. Agora irá aparecer todos os objetos do banco de dados, escolha a tabela/consulta que você quer, mude o nome em "DataSet Name:" e clique em Finish. Nesse ponto o data grid deve mostrar os campos da tabela/consulta escolhida. Executando a aplicação ele mostra os dados contidos. Para transferir os dados para um textbox você pode colocar o seguinte código no evento CurrentCellChanged, por exemplo: textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();onde o índice em Cells[] corresponde ao número da coluna acoplada ao banco de dados. no botão "Alterar" você coloca o código: this.<nome_dataset>.<nome_tabela>.Rows[dataGridView1.CurrentRow.Index].SetField(<número_do_campo>, textBox1.Text); this.<nome_tableAdapter>.Update(this.<nome_dataset>.<nome_tabela>); Pronto, feita a alteração no banco de dados. Compartilhar este post Link para o post Compartilhar em outros sites