Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2011, 08:35
morbo198
 
Fecha de Ingreso: febrero-2011
Mensajes: 41
Antigüedad: 13 años, 2 meses
Puntos: 1
RaddioButtonList Check?¿

Necesito de su conocimiento para resolver este problema
tengo una lista de radiobuttonlist, que segun el que presiones realisa cierta busqueda y tambien valida la caja de texto segun la busqueda,me funciona con el primer radiobutton lo de validar la caja de texto porque cuando carga la pagina le mando esos valores, pero a la hora de cambiar de radiobutton se queda con los mismos valores, lo que quiero hacer es cada vez que haga un cambio de radiobutton se le asignen los valores segun la seleccion. les presento aquie mi codigo

String selectOpcion, textboxBusqueda, espacioBlanco, radioCheck, errorMensajeBlanco,errorMensajeExpresion;

void Page_Load(Object sender, EventArgs e) {
/*RadioButton seleccionados por tipos de busqueda
----------------------------------------------------------------------------------------------------------------------------------------*/
radioCheck = check.SelectedItem.Text;
if (radioCheck == "Codigo")
{
selectOpcion = "CODIGO";
textboxBusqueda = codigo.Text;
validarExpresion.ValidationExpression = "\\d+ ";
errorMensajeExpresion = "Valor Invalido";
errorMensajeBlanco = "Ingresa un Codigo";
}
else if (radioCheck == "Nombre")
{
selectOpcion = "NOMBRE";
textboxBusqueda = "'%" + codigo.Text + "%'";
validarExpresion.ValidationExpression = "[a-zA-ZñÑ ]{3,}";
errorMensajeExpresion = "Valor Invalido";
}
else if (radioCheck == "Apellido")
{
espacioBlanco = codigo.Text.Replace(" ", "");
selectOpcion = "APEPAT & APEPAT & APEMAT";
textboxBusqueda = "'%" + espacioBlanco + "%'";
}
}
/*Funcion de boton que realiza la busqueda en la base de datos
---------------------------------------------------------------------------------------------------------------------------------------------------*/
void Busqueda(object sender, EventArgs args)
{
Int64 totalConteo;

/*CONEXION CON LA BASE DE DATOS
---------------------------------------------------------------------------------------------------------------------------------------*/
//Variable que utiliza para realizar la conexion
String conexionCadena = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=D:\\RLs.mdb";

/*Crear un objeto OleDbConnection y pasar la ConnectionString al construtor.
---------------------------------------------------------------------------------------------------------------------------------------*/
OleDbConnection conexion = new OleDbConnection(conexionCadena);

/*Abrir la conexion
---------------------------------------------------------------------------------------------------------------------------------------*/
conexion.Open();

/*Consulta que cuenta todos los trabajadores en la tabla de TRABAJADOR
---------------------------------------------------------------------------------------------------------------------------------------*/
OleDbCommand totalRegistros = new OleDbCommand ("SELECT COUNT(*) FROM TRABAJADOR",conexion);
OleDbDataReader readerTotal = totalRegistros.ExecuteReader();
readerTotal.Read();
/*Consulta que cuenta todos los trabajadores por el metodo de busqueda ingresado
---------------------------------------------------------------------------------------------------------------------------------------*/
OleDbCommand totalBusqueda = new OleDbCommand ("SELECT COUNT(*) FROM TRABAJADOR WHERE (" + selectOpcion + " LIKE " + textboxBusqueda + ")", conexion);
OleDbDataReader reader = totalBusqueda.ExecuteReader();
reader.Read();
totalConteo = Convert.ToInt64(reader[0].ToString());

resultadoBusqueda.Text = "El resultado de la busqueda es "+reader[0].ToString()+"-"+readerTotal[0].ToString();
/*Crear un objeto OleDbCommand para llevar acabo la consulta
---------------------------------------------------------------------------------------------------------------------------------------*/
OleDbDataAdapter consulta = new OleDbDataAdapter("SELECT NOMBRE,APEPAT,APEMAT,CODIGO FROM TRABAJADOR WHERE (" + selectOpcion + " LIKE " + textboxBusqueda + ")", conexion);
DataSet ds = new DataSet();

try
{
if (totalConteo > 0) {
consulta.Fill(ds, "TRABAJADOR");
repiteDatos.DataSource = ds.Tables["TRABAJADOR"].DefaultView;
repiteDatos.DataBind();
}
}
catch {
}
}
</script>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Busqueda
</h2>

<asp:RadioButtonList ID="check" runat="server" RepeatDirection="Horizontal" >
<asp:ListItem Text="Codigo" Selected="True" Value="GreaterThan" />
<asp:ListItem Text="Nombre" />
<asp:ListItem Text="Apellido" />
</asp:RadioButtonList>

<!--Textbox utilizado para ingresar la busqueda en la BD-->
<asp:TextBox ID="codigo" runat="server" onkeyup="this.value=this.value.toUpperCase()" />
<asp:Button ID="codigoBoton" runat="server" Text="Buscar" OnClick="Busqueda" />

<!--Validador del textbox para que solo se ingresen numeros cuando se seleccione el radiobutton de codigo-->
<asp:RegularExpressionValidator ID="validarExpresion" runat="server" ControlToValidate="codigo" Display="Dynamic"
ForeColor="Red" Font-Size="8" Font-Bold="true" Font-Italic="true">
<%= errorMensajeExpresion %>
</asp:RegularExpressionValidator>

<asp:RequiredFieldValidator ID="validarBlanco" runat="server" ControlToValidate="codigo" Display="Dynamic"
ForeColor="Red" Font-Size="8" Font-Bold="true" Font-Italic="true" >
<%= errorMensajeBlanco %>
</asp:RequiredFieldValidator>

<br />
<!--Label que muestra el resultado de la busqueda-->
<asp:Label ID="resultadoBusqueda" runat="server" />


<asp:Repeater ID="repiteDatos" runat="server">
<HeaderTemplate>
<table width="30%" style="font: 8pt verdana">
<tr bgcolor="ff00d8">
<th>Codigo</th>
<th>Apellido Paterno</th>
<th>Apellido Materno</th>
<th>Nombre(s)</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr bgcolor="FFECD8">
<td align="right"><%# DataBinder.Eval(Container.DataItem, "CODIGO") %></td>
<td align="right"><%# DataBinder.Eval(Container.DataItem,"APEPAT") %></td>
<td align="right"><%# DataBinder.Eval(Container.DataItem,"APEMAT") %></td>
<td align="right"><%# DataBinder.Eval(Container.DataItem,"NOMBRE") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>


</asp:Content>