none
Ordenacion de registros en control DataTable RRS feed

  • Pregunta

  • Hola

    En mi pagina tengo un control Select HTML y debajo muestro el contenido de un DataTable cargado desde DB con una consulta ordenada DESC ...

    Me gustaria saber si  existe alguna forma de ordenar el contenido del DataTable segun un campo con sentido (ASC , DESC )al cabiar la seleccion del Select HTML

    Este es el control  select HTML

     <select name="sort_rating" id="sort_rating">
                 <option value="" selected>Sort by ranking</option>
                 <option value="lower">Lowest ranking</option>
                 <option value="higher">Highest ranking</option>
      </select>      

    este es el codigo del lado cliente,fijate la ultima linea donde invoco procedimiento almacenado paso un HiddenField (hfSort.Value) donde especifico si la consulta se hace con sentido ASC o DESC ...

    <% 
       System.Data.DataTable dtTable = new System.Data.DataTable();
       SaborWebApp.Engine.EngineRestaurant ProStore = new SaborWebApp.Engine.EngineRestaurant();
       dtTable  = ProStore.EngineLocationRestaurant(hfPointGeografy.Value ,hfSort.Value ,"Sp_RestaurantLocation");
     %>
    La verdad esto se me a complicado , tambien serviria algo como un filtro ???



    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    jueves, 20 de octubre de 2016 10:02

Todas las respuestas

  • hola

    pero si estas ordenando desde el procedure que ejecute un SELECT con el ORDER BY debes ir hasta la db para aplicar el orden

    o la idea es ordenar desde el datatable una vez cargado?

    podrias evaluar usar un dataview

    Sorting Data in C# DataTable


    para aplicar el orden sobre los datos en memoria

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 20 de octubre de 2016 12:51
  • Hola Leandro... pero veo que DataView  carga a un GridView...

    podre hacer esto con el DataView

     
    <%  
               System.Data.DataTable dtTable = new System.Data.DataTable();
               SaborWebApp.Engine.EngineRestaurant ProStore = new SaborWebApp.Engine.EngineRestaurant();
               dtTable  = ProStore.EngineLocationRestaurant(hfPointGeografy.Value ,hfSort.Value ,"Sp_RestaurantLocation");
               foreach (System.Data.DataRow row in dtTable .Rows)
               {
           %>
                   <div class="strip_list wow fadeIn" data-wow-delay="0.1s">
                    <div class="ribbon_1">
                        Popular
                    </div>
                 <div class="row">
                        <div class="col-md-9 col-sm-9">
                            <div class="desc">
                                <div class="thumb_strip">   
                               <a href="detailrestaurant.aspx?id=<%=row ["RestaurantID"].ToString() %>" ><img src="<%=row ["Logo"].ToString() %>" alt="" /></a>
                         </div>
                         <div class="filter_type" >
                          <% ratingRestaurant.Value = Convert.ToDecimal(row["RatingAvg"]); %>
                        <telerik:RadRating RenderMode="Lightweight" ID="ratingRestaurant" runat="server"  ItemCount="5" SelectionMode="Continuous" Precision="Half" Orientation="Horizontal" ReadOnly = "true"   ></telerik:RadRating>(<small><a href="#0"> <%=row ["NumberReview"].ToString()%> reviews</a></small>)
                          </div>
                                <h3><%=row ["RestaurantName"].ToString() %></h3>
                        <div class="type">
                               <%=row ["Delivery"].ToString() %>
                        </div>
                        <div class="location">
                            <%=row ["StreetAddress"].ToString()%> <span class="opening"> Open at: <%=row ["HoursEnd"].ToString()%> Phone: </span> Minimum order: $  <%=row ["MinPrice"].ToString()%>
                        </div>
                        <ul>
                            <li>Take away<i class="icon_check_alt2 ok"></i></li>
                            <li>Delivery<i class="icon_check_alt2 no"></i></li>
                        </ul>
                    </div>
            </div>
            <div class="col-md-3 col-sm-3">
                            <div class="go_to">
                                <div><a href="detailrestaurant.aspx?id= <%=row ["RestaurantID"].ToString()%>" class="btn_1">View menu</a></div>
                            </div>
                        </div>
        </div><!-- End row-->    
    </div><!-- End strip_list-->
               <% dtTable.Dispose(); } %>


    EFRAIN MEJIAS C VALENCIA - VENEZUELA


    jueves, 20 de octubre de 2016 16:47