FILTRAR DADOS DIGITANDO DIRETAMENTE NO DATAGRID
Boa noite...
Como posso filtrar dados, digitando diretamente no grid?
Enviei um anexo pra poder entender melhor o que eu estou falando.
Conexão com o banco pode ser com dataset ou na unha mesmo.
Alguém tem algum exemplo?
Obrigado
Como posso filtrar dados, digitando diretamente no grid?
Enviei um anexo pra poder entender melhor o que eu estou falando.
Conexão com o banco pode ser com dataset ou na unha mesmo.
Alguém tem algum exemplo?
Obrigado
Ninguém???
Basicamente o que você quer é o mesmo que o Excel faz, certo? Pois se for, precisamos saber como você faz o preenchimento do grid.
Boa noite Kerplunk, no momento estou preenchendo com o seguinte código:
ConexaoRetaguarda cR = new ConexaoRetaguarda();
cR.OpenBancoRetaguarda();
string strSql = [Ô]SELECT * FROM Funcionários ORDER BY Funcionários.[Nome Funcionário][Ô];
SqlConnection con = new SqlConnection(Global.StringConexao);
SqlCommand cmd = new SqlCommand(strSql, con);
con.Open();
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable forn = new DataTable();
da.Fill(forn);
GridFuncionarios.DataSource = forn;
Mas pode ser também: (exemplo):
// Fazendo busca no banco para incluir no Grid
usu = ConsultasSqlEnvioDal.ConsultaEnvio([Ô]SELECT CodUsuario, Usuario, Senha FROM Usuarios[Ô]);
if (usu.HasRows == false)
{
MessageBox.Show([Ô]Não existem dados cadastrados.[Ô], [Ô]...::: Erro :::... [Ô], MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
this.gridUsuarios.Rows.Clear();
while (usu.Read())
{
this.gridUsuarios.Rows.Add(usu[[Ô]CodUsuario[Ô]].ToString(), usu[[Ô]Usuario[Ô]].ToString());
}
usu.Close();
ConexaoRetaguarda cR = new ConexaoRetaguarda();
cR.OpenBancoRetaguarda();
string strSql = [Ô]SELECT * FROM Funcionários ORDER BY Funcionários.[Nome Funcionário][Ô];
SqlConnection con = new SqlConnection(Global.StringConexao);
SqlCommand cmd = new SqlCommand(strSql, con);
con.Open();
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable forn = new DataTable();
da.Fill(forn);
GridFuncionarios.DataSource = forn;
Mas pode ser também: (exemplo):
// Fazendo busca no banco para incluir no Grid
usu = ConsultasSqlEnvioDal.ConsultaEnvio([Ô]SELECT CodUsuario, Usuario, Senha FROM Usuarios[Ô]);
if (usu.HasRows == false)
{
MessageBox.Show([Ô]Não existem dados cadastrados.[Ô], [Ô]...::: Erro :::... [Ô], MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
this.gridUsuarios.Rows.Clear();
while (usu.Read())
{
this.gridUsuarios.Rows.Add(usu[[Ô]CodUsuario[Ô]].ToString(), usu[[Ô]Usuario[Ô]].ToString());
}
usu.Close();
Bem, você está usando um DataTable para preencher seu grid, não acho uma boa idéia, mas pode ser usado. DataTable é um objeto que possui um método para busca de dados, é o método Select. O que vai ficar bastante complicado é usar uma das linhas de dados para filtros, não há uma maneira simples de fazer isso. Mas a função select, você pode buscar dados facilmente por coluna, mais ou menos assim:
Com isso você pode buscar em qualquer coluna, qualquer valor.
((DataTable)GridFuncionarios.DataSource).Select([Ô]NOMEDACOLUNA like [ô]%[Ô] + valor + [Ô]%[ô][Ô]);
Com isso você pode buscar em qualquer coluna, qualquer valor.
Se você começar a usar OOP, é possÃvel criar uma [Ô]omnisearch[Ô], para buscar dados. Omnisearch, é uma caixa de texto que busca qualquer valor em qualquer coluna, mais um menos como um [Ô]mini google[Ô] para seus dados.
Com este exemplo é possÃvel digitar diretamente no datagrid?
((DataTable)GridFuncionarios.DataSource).Select([Ô]NOMEDACOLUNA like [ô]%[Ô] + valor + [Ô]%[ô][Ô]);
Você tem algum exemplo com OOP nos seus vÃdeos?
((DataTable)GridFuncionarios.DataSource).Select([Ô]NOMEDACOLUNA like [ô]%[Ô] + valor + [Ô]%[ô][Ô]);
Você tem algum exemplo com OOP nos seus vÃdeos?
Todos os meus vÃdeos são com OOP. Uma coisa que percebi é que você entende [Ô]exemplo[Ô] como código pronto para usar. A coisa não é bem assim. Exemplo é uma idéia básica de como você pode usar algo. O que passei, é uma maneira de fazer uma procura em uma coluna especÃfica.
Não sendo pronto para usar, mas mais especÃfico, esse código que você passou é um exemplo, mas como uso ele, num textbox? direto no datagrid? Por que se for no datagrid, as colunas não ficam completas com os dados? Onde terá o campo para digitar?
Seus vÃdeos são todos com OOP, mas tem algum que fala sobre datagrid?
Seus vÃdeos são todos com OOP, mas tem algum que fala sobre datagrid?
Sugestão de uso do que passei:
Um texbox, uma dropdown com os nomes dos campos e um botão. No botão, você usa a linha que mostrei. Observe que no comando, tem um [Ô]NOMEDACOLUNA[Ô], ali você vai usar o nome da coluna selecionada no dropdown. Também tem um [Ô]valor[Ô], ali você vai colocar o que estiver na textbox.
Tem alguns vÃdeos que falam sobre DataGrid, mas o que é necessário entender é que todo e qualquer controle se torna claro no seu uso quando OOP está entendido. Entenda OOP e o [Ô]como usar isso[Ô] vem de lambuja.
Um texbox, uma dropdown com os nomes dos campos e um botão. No botão, você usa a linha que mostrei. Observe que no comando, tem um [Ô]NOMEDACOLUNA[Ô], ali você vai usar o nome da coluna selecionada no dropdown. Também tem um [Ô]valor[Ô], ali você vai colocar o que estiver na textbox.
Tem alguns vÃdeos que falam sobre DataGrid, mas o que é necessário entender é que todo e qualquer controle se torna claro no seu uso quando OOP está entendido. Entenda OOP e o [Ô]como usar isso[Ô] vem de lambuja.
Ok, entendi, vou fazer um teste aqui, obrigado!
Faça seu login para responder