Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2011, 10:51
morbo198
 
Fecha de Ingreso: febrero-2011
Mensajes: 41
Antigüedad: 13 años, 2 meses
Puntos: 1
Exclamación GridView Ordenar?¿

Alguien me podria como llevar acabo el ordenamiento de los campos con el gridview, o me podria dar una pista, o un tuto porque hasta el momento no he comprendido como ordenalos con el allowsorting, aquie les presento el codigo.


<%@ Page Title="Página principal" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RLs._Default" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server" language="c#" >
/*Variables utilizadas
----------------------------------------------------------------------------------------------------------------------------------------------------*/
String selectOpcion, textboxBusqueda, espacioBlanco, radioCheck, errorMensajeBlanco,errorMensajeExpresion;
protected void Tabla_Sorting(Object sender, EventArgs e) {

}
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 + "%'";
validarExpresion.ValidationExpression = "[a-zA-ZñÑ ]{3,}";
errorMensajeExpresion = "Valor Invalido";
}
}

/*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");
Tabla.DataSource = ds;
Tabla.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" AutoPostBack="true" >
<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:GridView ID="Tabla" runat="server" AutoGenerateColumns="False"
CellPadding="4" ForeColor="#333333" GridLines="None" Width="747px" >
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:BoundField HeaderText="Codigo" DataField="CODIGO" ReadOnly="true" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField HeaderText="APEPAT" DataField="APEPAT" />
<asp:BoundField HeaderText="APEMAT" DataField="APEMAT" />
<asp:BoundField HeaderText="NOMBRE" DataField="NOMBRE" />
</Columns>

<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />

</asp:GridView>



</asp:Content>