private void Buscar() { String campos = ""; String query = "select id,* from " + tipoObjetoABuscar.Name + " where "; if ((Boolean)chb_mostrarDeshabilitados.Checked) { campos += "estaDeshabilitado, "; } foreach (DataColumn columna in Estructura.Columns) { campos += columna.ColumnName + ", "; } campos = campos.Substring(0, campos.Length - 2); query = query.Replace("*", campos); if (true) //buscar por todos los campos { foreach (DataColumn columna in Estructura.Columns) { if (columna.ColumnName.StartsWith("_st_")) { query += columna + " like '%" + txt_busqueda.Text.Trim() + "%' or"; } if (columna.ColumnName.StartsWith("_in_") || columna.ColumnName.StartsWith("_lo_")) { query += columna + " = " + txt_busqueda.Text.Trim() + " or"; } if (columna.ColumnName.StartsWith("_dt_")) { query += columna + " = '" + txt_busqueda.Text.Trim() + "' or"; } } query = query.Substring(0, query.Length - 2); } //else //{ // query += cmb_atributos.SelectedItem.ToString() + " like '%" + txt_busqueda.Text.Trim() + "%'"; //} if ((Boolean)chb_mostrarDeshabilitados.Checked) { query += " and (estaDeshabilitado = 0 or EstaDeshabilitado is null or estaDeshabilitado = '1')"; } else { query += " and (estaDeshabilitado = 0 or EstaDeshabilitado is null)"; } DataTable resultado = Manejador.EjecutarConsulta(query); foreach (DataColumn columnaPro in resultado.Columns) { columnaPro.ReadOnly = true; } dgr_InformacionObjetos.DataSource = resultado.DefaultView; }