2012-05-04 15 views
6

私はMVC 3のカミソリビューでwebgridを使用しています。 以下は、私のwebGridの外観を示しています。MVC 3 Webgridは、行全体をクリック可能にします。

すべての列のテキストに対してjavascriptメソッドを呼び出すことができます。私は行全体のどこかをクリックすると同じことが起こるようにしたい。

私にこれを案内してください。おかげ

  @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!これに対してTumbleWeedが授与されました:投票なし、回答なし、コメントなし、1週間の低い意見で質問しました。今すぐ返事が始まりますように! :P – Yasser

答えて

3

あなたは、行のクリック機能に

追加htmlAttributesを追加するためのjQueryを使用する必要があります:あなたのWebGridの新しい{ID = "MainTable"}。

<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

、値 '@ item.Col1'、 '@ item.Col2'、 '@ item.Col'をjavascript関数に渡すにはどうすればよいですか? – Yasser

+0

すでにパラメータを渡しています。上記のコードは行を強調表示します。あなたのコードが休む –

2

私のプロジェクトでは、このように特定の列にクラスstyle: "click_able"を追加しています。

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

のようなクリック機能を追加します。

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

それは私の場合は正常に動作。

関連する問題