2012-05-04 39 views
6

Estoy usando webgrid en mi vista de maquinilla de afeitar en MVC 3. A continuación se muestra mi aspecto de webGrid, quiero hacer que toda la fila se pueda hacer clic y también hacer clic en los valores del método javascript.MVC 3 Webgrid permite hacer clic en toda la fila

Soy capaz de lograr llamar a mi método javascript en el texto de todas las columnas. Quiero que ocurra lo mismo con el clic de cualquier lugar de toda la fila.

Por favor, guíame sobre esto. Gracias

  @grid.GetHtml(

      columns: grid.Columns(

      grid.Column("CompanyName", format: @<text><a href="javascript:SubmitValues('@item.Col1','@item.Col2','@item.Col3');">@item.CompanyName</a></text>, header: "ABC"), 

      grid.Column("CompanyAddress", format: @<text><a href="javascript:SubmitValues('@item.Col1','@item.Col2','@item.Col3');">@item.CompanyName</a></text>, header: "DEF"), 

      ))  

     } 
+0

LoL! fue galardonado con TumbleWeed por esto: se le hizo una pregunta sin votos, sin respuestas, sin comentarios y con baja visión durante una semana. ¡Espero que ahora las respuestas comiencen a llegar! : P – Yasser

Respuesta

3

Usted tiene que usar jQuery para agregar funcionalidad fila clic

Añadir htmlAttributes: nueva {id = "MainTable"} en su WebGrid.

<script type="text/javascript"> 
    $(function() { 
     var tr = $('#MainTable').find('tr'); 
     tr.bind('click', function (event) { 
      var values = ''; 
      var tds = $(this).find('td'); 


      $.each(tds, function (index, item) { 
       values = values + 'td' + (index + 1) + ':' + item.innerHTML + '<br/>'; 
      }); 
      alert(values); 


     }); 
    }); 


</script> 
+0

y cómo paso los valores '@ item.Col1', '@ item.Col2', '@ item.Col' a mi función javascript? – Yasser

+0

Ya está pasando el parámetro. El código anterior solo resaltará la fila. Descansa tu código hará –

2

he hecho esto en mi proyecto con la adición de una clase específica en la columna style: "click_able" similares.

grid.Column("CompanyName", style: "click_able", format: @<text><a href="javascript:SubmitValues('@item.Col1','@item.Col2','@item.Col3');">@item.CompanyName</a></text>, header: "ABC"), 

y luego agregue la función de hacer clic como.

<script type="text/javascript"> 
$(".click_able").click(function() { 
    // Do something 
}); 

Se trabaja muy bien en mi caso.

Cuestiones relacionadas