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 sender, EventArgs 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 sender, EventArgs e)
{
}
private void excelToolStripMenuItem_Click(object sender, EventArgs e)
{
nmExcel.ApplicationClass ExcelApp = new nmExcel.ApplicationClass();
ExcelApp.Application.Workbooks.Add(Type.Missing);
ExcelApp.Columns.ColumnWidth = 12;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
DataGridViewRow Fila = dataGridView1.Rows[i];
for (int j = 0; j < Fila.Cells.Count; j++)
{
ExcelApp.Cells[i + 1, j + 1] = 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 .. ");
}
}