Ajuda com checkbox
04/12/2009
0
Tenho no meu form um datagridview prenchido com os dados de uma tabela firebird nessa tabela tem um campo chamado "status" do tipo char onde marco as opções "A" ou "I" então coloquei no form dois checkbox e um botão pesquisar quando clicar botão quero que filtre o grid com a opção escolhida no checkbox ou "A" ou "I" ou ambas se estiverem marcadas. Segue abaixo trecho do código if (checkBox1.Checked ) { FbConnection connc = new FbConnection(strconn); string strSelect = "SELECT * FROM pessoa WHERE status (@status)"; FbDataAdapter dac = new FbDataAdapter(strSelect, connc); DataSet dsc = new DataSet(); dac.SelectCommand.Parameters.AddWithValue ("status", checkBox1.Checked + "%");
dac.Fill(dsc, "pessoa"); \\ Nesta linha da um erro
dataGridView1.DataSource = dsc.Tables["pessoa"]; }
Ciro Daniel
Posts
10/12/2009
Netasper
10/12/2009
Fernando Silva
08/01/2010
Paulo Sena
1. Vc quer filtrar o GridView depois de preenchido ou Filtrar a consulta antes de preencher o Grid?
2. Se é pra começar em c# ou vb.net vamos começar certo, utilize paramters para efetuar a consulta como no exemplo que segue:
private void CarregarUsuario(int usuarioID)
{
SqlConnection conn = new SqlConnection("sua string de conexao")
SqlCommand cmd = null;
SqlParameter param = null;
SqlDataAdapter app = null;
DataSet dtsResultado = null;
StringBuilder sql = new StringBuilder();
//Cria a consulta, utilizar o nome das colunas sempre evitar o *
sql.Append("SELECT ID, NOME, SOBRENOME FROM USUARIO ");
sql.Append("WHERE ");
sql.Append("(ID = @ID OR @ID IS NULL) ");
cmd = new SqlCommand(sql, conn);
//Adiciona o parâmetro ID
param = new SqlParameter("@ID", SqlDbType.Int);
//Se existir o ID preenche o parametro se não passa o valor DBNUll
if (usuarioID > 0)
param.Value = usuarioID;
else
param.Value = DBNull.Value ;
cmd.Parameters.Add(param);
app = new SqlDataAdapter(cmd);
//Preenche o DataSet
app.Fill(dtsResultado, "USUARIOS");
}
3. Agora se vc já tem algum conhecimento em desenvolvimento de software em outras linguages eu recomendo que já passe para uma faze um pouco mais avançada, utiliza o EnterpriseLibrary, especifamente ApplicationBlocks, ele faz toda a parte de controle de acesso a dados, vc só precisa implementar suas consultas.
16/02/2010
Eleuterio Gonzalez
acredito que se vc fizer um select e popular resolve seu problema.
Clique aqui para fazer login e interagir na Comunidade :)