Está en la página 1de 4
osowts le BN) —— Principal ise Laue, Gomcar Archive del blog » 2012 90) yor am Psonic 4 ©) septembre 9) > soso ry Pow) boone 8) Pere (0 » 201007) » 200974 >» 2008 0) » 2007 13) » 2006 09) Top semanat snUsetonde action (+ Surv caren ‘sua con Fi oases dates secre ‘orice Categorias ani) a) aon (16) eset (147) anata (149) uns (1) usizabe (1?) esa 6) suai (20) ASP NET MVC: Webi con fk, pagan y ordenactn|Varabe not found el blog de José M. Aguilar | tnicio |Elausor|Contctar q ASP.NET MVC: WebGrid con filtro, paginacién y ordenacién Hace une cas, eaigo Caéavdreatzaba una consuita en os comentarios de serie ASPTICL ‘de posts que escribi hace unos meses sobre elhelver Weber, sobre céme podiames, MVC ‘mplemantarfitros personazados sobre ls datos mortar, ad Que No ego ‘ue se pueda explcar en un simple comentario, me comprometisescrbrun post Sobre eltera, asi que ahva, problema fundamental es que WebGrd no incorpora ningun tipo de ayuda para realizar esta aren tan trecuente; simplemente se encarah ce mostra dates que le sinsiremes, pera que s querer ras ertnistanex ausears, Texte") ww. varablonetfound.comi201%/Y0laspretmve-nebgrid.conro him ine el coer ies GE = @magull 652 talon — Veriabte not found ss PEN as conletewetr de Dans 26,1 q osowts suas (4) ‘seas 25) ees 8) saute (17) store (20) ums 02) sess (13) st (2) aims (106) icesanibe 07) ete (11), ‘nea een (12) caracous (12) ‘ison (14) sa (2) sia 28) zh) ASP NET MVC: WebGid con fo, pagnacin y ordenactn | Varabe not found etn Texboe("ausca") Be Livettnsjontiny “hijos ns") Bren Textbont"ainnos") Betsd tse noes", “hijos mc") Beta Texton(tnoxttjos" } “ingut ypes"suonie™ value="ausear™ > citslaser ‘sera a sinplcdad del ormulao. Porno usar, no usa a sigulerala sian lamba en ls helpers de ‘ecicén Los contrles vars generar partiando de campos cys valores exstiran en el quer string, ¥n8 esse cimode', que es habitual, y par esta ax fijaos que el ormulaie est configura pare ser sve ‘tizando el métode HTTP GET, De eta forna podemes propagir muy ficimente et valor de os controls (textbox) entre ls Samad: 1 st elusuario Inraguce crtrioey puss etbotén ania, a URL ala que se realizar petcn ser, por fjemole, pezsenee/snxtburcarraolsartnsjomlnnceh joann 1 Selusuario ctltzatos botanes de navesalén propos del gid (avance/etoceso de pga, salto 2 Digina direct, o reoréeracén), estos parimetros sein aadicas aos anteriores, deform qe fegurin mantentendo ss valores entre stints lamadae sto ex al gracar 4 Que Webprid genera los enlaces de estas aecines respetando ls parietros atuaes eel querystring; es éecr, 5 estamos fitrandysatames ale pagina 4 accederemos a una Greccibn que incira tanto lanfommacién de os certeros de bsqveda como i de paginacn, algo come: /pesonse/ ins? ‘Yeon esto, cejamos compleada la capa vista, El Controlador ‘Sirecordis,elmétogo de acién encargade de obtener ls datos de dy enviar a vita cons ‘svar recia tres parmetros: a pagina actual, elcanpe de oréenacién yelsentico ce ésta lascendente/escendente. tesa Dado que ahora necestaré tabidn obtener ls eiteras de rdenacib, deberas ampli su detiniibn aiacionco parkmevos para estes valores: be Scioto Indentine page = 4, string sort = “Apellidos", string sootDie = “ASC, string bosear sully S0t? minsjos = nly ine? maeos = rai) ‘sere que son tages parietrs opconales,y ls estblecernas anus para detectar icimente cvinde nos venen relent, {¥en gud puntesnecestamos uiizar estos nuevos parimtros? Pu lo an dot 1 en itamada que hacemes al Meets par contar el total de las de gi, a gue tencremes que Informa sores eriteros de fitrado para que elconteo se reacecorectante, 1 en tamaca que hacemes al Modes par ebtene las las a mostrar en la pagina actual, conde ‘obviamente también deberemos tener en cuenta befits La aclén quedaria miso menos as: pupbie So vovien Ioan page = 2, sting sort = “Apel Aco string somoie = “ASC strong buscar © ull, S0? amos © ach, $08? soon © nat) ‘ ar nunborzanae = _senvices-contaveraonar(huscar, nino, mason); “D" Detsonas = _SeTces,Onienerdginabebersnasriltrodapage, PERSOAS POR PAGINA, Sort, srtair, buscar, MMos, naxPa3e3)5, var datos = naw Poeisoerorsonassewtceg) ersons’= persons 7 % eeu wieucsates); ‘esta estado en elcontroado. ElModelo "Yporsitina, ya en elModel,deberas hacer que as métedosutitzados desde el controlador (contariessonae yysoseacero¢nateceesoeatieeads)tengah en cUghta es parametros en ls qu indices ls conciciones de busqueda Enel primero de eos, simplemente retomames elnimere de personas que cumplan os eters que nos legen come paaretos pubic Sot Cantarersonar(stringtantopuscar = null, nt? sinhtjas « null, ine? ‘cnhjes'© nl) cose cuny query = datas Personas: ery = qerypersonastilvradh(textaniscar, RIMIIOS, MDDS, Ge); Fee eumeyscoureQ ww. varblonetfound.comi201%/Y0laspretmve-nebgrid.conlro him 24 osowts ASP NET MVC: Webi con fk, pagan y ordenactn|Varabe not found Elmétodo de uted sueryrernoasytt ena) que eftamosutitando Gnicamente se ncarga desde query as cusulswrare que necesita para tene”en cuenta ts condiciones espeificadas private static 1Qurysbleeersns> queryarsonaeFSLtrada(steing tentabuscer, nt? nos, SoePattsony neon 3 query) ‘ 1 (string tsb lombttespacettertosuscar)) [uery = gery snore(p > prove. caneaine(textoburcar || p.AgelLidos.Contain(textabureat)): 4 (antigen I= tn) (uory = gery inere(p => puhuraratetisor co astsoe)s 1 (aiigos I= ton) (ory 2 qeryere(p => pshrerabeitsor >= nintsee)s Por timo, implementaros el todo que btiene los datos amestraren la piginaactuat puphic “o.oo sesso hmanerraginabopersonasFitrads(inspaginaketul, Sot parsosPorPagina, Scring columabedenslan, surig sertideOreracion, [Shing estonureaey ne? ain, ire? amigos) ‘tidoordonactan = sentidsoraaracion Equals "éesct, 9-1 oo carrentcultaretgporecase) 2 ver validcolunrs + nea] { “epebidos", “fechaaciniesto",“ rareroueijes" } 17 (talsacolune:carestn(cofamsdrsenaton ToLowerO)) 4 oagtnatctual © 3) paginaetuad = 1 (bersonasPoragina ©) personashor 11 eneranos Le cnsutta cee Glenys Cn epoca) datos Personas Lvaeray(“it."} Zeluenaraeracion + * + sentidondensetans wary = queryPersonariitrada(textotuscar, ntjos, majos, eiery)s “Spt (oogtnasctusl « 1) * persorasPoragiea) “ate(gertonsrorragi) Tous): Hay poco que comentar sobre este céeigo. En primer lugar se reaza una corprobacinbisica de los pardmetios ce entrada, pare a contnuacén genera’ a consuta que se veatzara sobre abuse de tos. Como Doe's cbservar, también se utiiza ol métaes quezjeceoreeriisencs paraaplca bs criterias de const, En resumen... ‘come hemos pido ver, implementacién de erteros de bisqueda en un WebGrgno difiere mucho de & ‘qe Mablamos escrito en su momento, Sd hay que Lene en cuenta ns siguientes punta += primera inci ena Vista un formule donde se recofa os rts de a consulta para envaios a controlador. + segundo, prepara el Contreiador para que recib estos citer ys haga ga al Model, * tarceo, en elModes, simplemente aptcar esos crters en el momento de conta Ws as totaes, en UWabtenciba dels datos a mostrar en psi del En Shybrve he cola un proyecto que incuye un ejemple completo donde pods ver todo esto en funclonaniente: WebGaifHadDemo WAVE 2 SQL Expres Pbiade en: Variable not fund, te contd 2 publ Sao ue esl de as es Pubscade por José M. Agua as 9:01 am ta: uonetve, consuls, desert, webarid ADAUID aje.. ‘muchas gracias Jose, Muchos saludos y bencclones desde Colombia! Sos un Fendmena! Jueves, 06 octubre, 2011 lost M. Anuar die ‘rac a1 pr pariparen varialenatfoundt Un std Sohador Ana dio, Fantastcall De verdad un trabaj extraereinar'. Gracias pri sportacin! gue a. Sues. ww. varblonetfound.comi201%/Y0laspretmve-nebgrid.conlro him sa

También podría gustarte