Foros del Web » Programación para mayores de 30 ;) » .NET »

filtrar si esta basico el campo

Estas en el tema de filtrar si esta basico el campo en el foro de .NET en Foros del Web. Hola, A todos........ Tengo una duda con un codigo, explico.... Realizo una busqueda con 2 criterios y un filtro con like esto para que me ...
  #1 (permalink)  
Antiguo 30/06/2011, 10:29
 
Fecha de Ingreso: agosto-2010
Ubicación: mexico
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación filtrar si esta basico el campo

Hola, A todos........

Tengo una duda con un codigo, explico....


Realizo una busqueda con 2 criterios y un filtro con like esto para que me cuentre todos los resultados en el datagrid deacuerdo a lo que es cuenta y cliente y una ves llenado el datagrig filtro lo que es factura deacuerdo a la terminacion.

Mi pregunta es como puedo decirle a ese filtro que tambien filtre si no tengo nada en el campo factura.

Les muestro mi codigo......

Código PHP:
private void btBuscar_Click(object senderEventArgs e)
        {


            if (
txtcuenta.Text.Length == 0)
            {
                
MessageBox.Show("Ingrese Numero de Cuenta""Mensaje");
            }
                           
            else if (
txtcliente.Text.Length == 0)
                {
                    
MessageBox.Show("Ingrese Codigo del Cliente""Mensaje");
                }
            
                else
                {


                    try
                    {


                        
string conexion "";

                        
SqlConnection cnn = new SqlConnection(conexion);


                        
SqlCommand cmd = new SqlCommand("select a.linea, a.numero,c.nombre, c.codigo, c.clifinal, a.cuenta, a.factura, a.definicion,a.debe, a.haber,a.fecha from asientos a inner join clientes c on c.clifinal = a.cuenta WHERE (a.cuenta = @cuenta) AND  (a.fecha between @desde and @hasta) and (c.codigo = @codigo)  "cnn);

                        
cmd.Parameters.Add("@cuenta"SqlDbType.VarChar).Value txtcuenta.Text;
                                                
cmd.Parameters.Add("@codigo"SqlDbType.VarChar).Value txtcliente.Text;


                        
/*******************************************************************************/
                        /*********************************** CODIGO ************************************/
                        /*******************************************************************************/

                        //Valido la fecha "@hasta" que se va a ingresar con los radiobuttons(Pongo como ejemplo si son 3)

                        //1er radiobutton
                        
if (radioButton1.Checked == true)
                        {
                            
//Le agrego 20 dias y le asigno a la variable
                            
hasta dateTimePicker1.Value.Add(TimeSpan.FromDays(30));

                        }
                        
//2do radiobutton
                        
else if (radioButton1.Checked == true)
                        {
                            
//Le agrego 30 dias y le asigno a la variable
                            
hasta dateTimePicker1.Value.Add(TimeSpan.FromDays(60));
                        }
                        
//3er radiobutton
                        
else
                        {
                            
//Le agrego 40 dias y le asigno a la variable
                            
hasta dateTimePicker1.Value.Add(TimeSpan.FromDays(90));
                        }
                        
//Mando la variable del Datetimepicker que será @desde


                        /*******************************************************************************/
                        /*********************************** CODIGO ************************************/
                        /*******************************************************************************/
                        
cmd.Parameters.Add("@desde"SqlDbType.DateTime).Value dateTimePicker1.Value;
                        
//Y Mando la variable @hasta al parametro
                        
cmd.Parameters.Add("@hasta"SqlDbType.DateTime).Value hasta;



                        
cnn.Open(); 
                        
sqlDataAdapter1 = new SqlDataAdapter(cmd);
                        
ds = new DataSet(); 
                        
sqlDataAdapter1.Fill(ds"asientos");

                       [
COLOR="DarkRed"ds.Tables["asientos"].DefaultView.RowFilter = ("factura like '%" cbfactura.Text.PadLeft (0) + "%'");[/COLOR]                                                                      
                        
dataGridView1.DataSource ds.Tables["asientos"];

                                               
                        
//dataGridView1.Columns["cuenta"].HeaderText = "asientos.cuenta";
                        //dataGridView1.Columns["factura"].HeaderText = "c_albven.factura";
                        //dataGridView1.Columns["cliente"].HeaderText = "c_albven.cliente";
                        //dataGridView1.Columns["definicion"].HeaderText = "asientos.definicion";
                        //dataGridView1.Columns["fecha"].HeaderText = "asientos.fecha";
                        //dataGridView1.Columns["debe"].HeaderText = "asientos.debe";
                        //dataGridView1.Columns["haber"].HeaderText = "asientos.haber";              

                        
MessageBox.Show("La Busqueda Finalizo");

                        
cnn.Close();

                    }
                    catch (
Exception ex)
                    {
                        
MessageBox.Show(ex.Message);
                    }
                }
            }
     
            private 
void Form1_Load(object senderEventArgs e
            {
            }

            private 
void excelToolStripMenuItem_Click(object senderEventArgs e)
            {

nmExcel.ApplicationClass ExcelApp = new nmExcel.ApplicationClass();
ExcelApp.Application.Workbooks.Add(Type.Missing);
ExcelApp.Columns.ColumnWidth 12;
for (
int i 0dataGridView1.Rows.Counti++)
{
    
DataGridViewRow Fila dataGridView1.Rows[i];
for (
int j 0Fila.Cells.Countj++)
{
ExcelApp.Cells[11] = Fila.Cells[j].Value;
}
}
// ---------- cuadro de dialogo para Guardar
SaveFileDialog CuadroDialogo = new SaveFileDialog();
CuadroDialogo.DefaultExt "xls";
CuadroDialogo.Filter "xls file(*.xls)|*.xls";
CuadroDialogo.AddExtension true;
CuadroDialogo.RestoreDirectory true;
CuadroDialogo.Title "Guardar";
CuadroDialogo.InitialDirectory = @"c:\";
if (CuadroDialogo.ShowDialog() == DialogResult.OK)
{
ExcelApp.ActiveWorkbook.SaveCopyAs(CuadroDialogo.FileName);
ExcelApp.ActiveWorkbook.Saved = true;
CuadroDialogo.Dispose();
CuadroDialogo = null;
ExcelApp.Quit();
}
else
{
MessageBox.Show("
No se pudo guardar Datos .. ");
}

  #2 (permalink)  
Antiguo 30/06/2011, 10:55
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: filtrar si esta basico el campo

Hola ACSE podrías validar antes de mandar el parámetro de esta manera para verificar si esta vacío :
Código vb.net:
Ver original
  1. if (string.IsNullOrEmpty(ComboBox1.Text)) {
  2.     ds.Tables["asientos"].DefaultView.RowFilter = ("factura like '%" +"" + "%'");
  3.  
  4. }
  5. else{
  6.     ds.Tables["asientos"].DefaultView.RowFilter = ("factura like '%" + cbfactura.Text.PadLeft (0) + "%'");
  7. }
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 30/06/2011, 11:16
 
Fecha de Ingreso: agosto-2010
Ubicación: mexico
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: filtrar si esta basico el campo

Ok, me dispongo a añadirlo al codigo y ver que hace......de igual forma te estare avisando si furula..... gracias.
  #4 (permalink)  
Antiguo 30/06/2011, 11:31
 
Fecha de Ingreso: agosto-2010
Ubicación: mexico
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación Respuesta: filtrar si esta basico el campo

ups, creo no funciono.....

Si yo ejecuto esta consulta en sql me madna todos los refuistros con FA,FB y los vacios. y si al like le quito los %% ma manda solo lo que tengo vacio de factura, si le pongo %FA% me filtra todo lo que sea FA y asi susecivamente, ahora bien eso mismo lo quiero hacer en la aplicacion.

si quiero ver todo lo vacio que me lo filtre, si quiero fa o si quiero fb, pero como primer termino que me manda todo los reguistros de los primeros criterios.

Código PHP:
select a.lineaa.numero,c.nombrec.codigoc.clifinala.cuentaa.facturaa.definicion,a.debea.haber,a.fecha from asientos a inner join clientes c on c.clifinal a.cuenta where a.cuenta '11210206' and c.codigo '11210786' and a.factura like '%%'  and a.fecha between '2010-10-01' and dateadd (day,90,'2010-10-01'

Etiquetas: basico, filtrar, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:15.