2012-05-04 10 views
6

Sto usando webgrid nella mia vista del rasoio in MVC 3. Di seguito è come appare il mio webGrid, voglio rendere l'intera riga cliccabile e su passaggio di passaggio valori al metodo javascript anche.MVC 3 Webgrid rende intera riga cliccabile

Sono in grado di raggiungere chiamando il mio metodo javascript sul testo di tutte le colonne. Voglio che lo stesso accada per click ovunque sull'intera riga.

Per favore guidami su questo. Grazie

  @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! è stato premiato con TumbleWeed per questo: una domanda senza voti, nessuna risposta, nessun commento e visualizzazioni basse per una settimana. Spero che le risposte inizieranno a riversarsi! : P – Yasser

risposta

3

Devi usare JQuery per aggiungere funzionalità click fila

Aggiungi htmlAttributes: new {id = "MainTable"} nella tua 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

e come faccio a passare i valori '@ item.Col1', '@ item.Col2', '@ item.Col' alla mia funzione javascript? – Yasser

+0

Si sta già passando il parametro. Il codice sopra evidenzierà solo la riga. Resto farà il tuo codice –

2

ho fatto nel mio progetto con l'aggiunta di una classe style: "click_able" sulla colonna specifica come.

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

e quindi aggiungere la funzione clic come.

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

E funziona bene nel mio caso.

Problemi correlati