0

私はグリッドをテレリックしました。

@(Html.Telerik().Grid(Model)
        .Name("Grid")
        .Columns(columns =>
        {
            //columns & bound
        })
        .ClientEvents(e=> e.OnRowSelect("OnRowSelect"))

行をクリックすることで、cellindex(クリックしたもの)を知る必要があります。
私は機能を持っています:

function onRowSelect(e){}

そこからどのように抽出しますか?

4

2 に答える 2

0

私の答えは、この質問に基づいています.Table row and column number in jQueryの功績です。

これを次のように試してください:

Javascript:

<script>
    function OnDataBound() {
        // #Grid needs to match the name of the grid in View's markup.
        $('#Grid table td').click(function () { 
            var col = $(this).parent().children().index($(this));
            var row = $(this).parent().parent().children().index($(this).parent());
            alert('Row: ' + row + ', Column: ' + col);
        });


        //As a side note, you can get at the contents of the row selected with 
        //something along these lines: 
        //(this will not work unless you substitute the "EmployeeId" id with a valid one from your model.
        $('#Grid table tr').dblclick(function () {
            alert($(this).find("span[id=EmployeeId]")[0].innerText);  //EmployeeId is just a column name used for example purposes.
        });
    }



</script>

グリッド マークアップ:

@(Html.Telerik().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        //columns & bound
    })
    .ClientEvents(e=> e.OnDataBound("OnDataBound"))  // This changed to a OnDataBound event.
于 2013-03-07T01:18:00.360 に答える
0

RowSelect イベントを介して列インデックスを取得することはできません。

(OnLoad イベントを介して) グリッドが初期化されたら、次のように独自のデリゲート イベントをアタッチすることをお勧めします。

function onGridLoad(){
    $(this).data().tGrid.$tbody.on('click','td',function(e){
        alert('COLUMN INDEX: '+$(this).index())
    })
}
于 2013-03-03T18:35:02.500 に答える