2016-06-14 10 views
0

.NETのバックグラウンドからMVCを習得しようとしています。私は、devexpress gridviewコントロールを持つインデックスページを持っており、focusedrowchangesイベントを追加しようとしています。私のインデックスページには、ちょうど次ASP.NET MVC ClientSideイベント

<main style="width:100%"> 
    @Html.Action("GridViewPartial") 
</main> 

マイGridviewpartialで構成さあなたが見ることができるように

@{ 
    var grid = Html.DevExpress().GridView(settings => 
    { 
    settings.Name = "GridView"; 
    settings.CallbackRouteValues = new { Controller = "Home", Action = "GridViewPartial" }; 

    settings.SettingsEditing.AddNewRowRouteValues = new { Controller = "Home", Action = "GridViewPartialAddNew" }; 
    settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "Home", Action = "GridViewPartialUpdate" }; 
    settings.SettingsEditing.DeleteRowRouteValues = new { Controller = "Home", Action = "GridViewPartialDelete" }; 
    settings.ClientSideEvents.FocusedRowChanged = "OnRowSelect"; 
    //settings.ClientSideEvents.FocusedRowChanged = "function(s, e) {alert('The button has been clicked');}"; 


    settings.SettingsEditing.Mode = GridViewEditingMode.PopupEditForm; 
    settings.SettingsBehavior.ConfirmDelete = true; 

    settings.CommandColumn.Visible = false; 
    settings.CommandColumn.ShowNewButton = false; 
    settings.CommandColumn.ShowDeleteButton = false; 
    settings.CommandColumn.ShowEditButton = false; 

    settings.KeyFieldName = "id"; 

    settings.Width = System.Web.UI.WebControls.Unit.Percentage(100); 

    settings.SettingsAdaptivity.AdaptivityMode = GridViewAdaptivityMode.Off; 
    settings.SettingsAdaptivity.AdaptiveColumnPosition = GridViewAdaptiveColumnPosition.Left; 
    settings.SettingsAdaptivity.AdaptiveDetailColumnCount = 1; 
    settings.SettingsAdaptivity.AllowOnlyOneAdaptiveDetailExpanded = false; 
    settings.SettingsAdaptivity.HideDataCellsAtWindowInnerWidth = 0; 

    settings.Columns.Add("reference"); 
    settings.Columns.Add("name"); 
    settings.Columns.Add("description"); 

}); 
if (ViewData["EditError"] != null) 
{ 
    grid.SetEditErrorText((string)ViewData["EditError"]); 
} 
} 
@grid.Bind(Model).GetHtml() 

を次のようになり、私はfocusedrowchangesイベントを追加し、それを使用しての2種類の方法を試してみました。私は現在、javascript関数を使用するようにしようとしています。

<script type="text/javascript"> 
    function OnRowSelect(s, e) { 
     alert('test'); 
     } 
</script> 

グリッド上のフォーカスされた行を変更すると機能が入力されないように見えますが、なぜこれがわからないのですか。私も関数にブレークポイントを入れようとしましたが、これは決して打撃を受けません。どのように私はこれを正しく行う必要があることを誰かが説明できますか?

答えて

1

どちらの方法も機能します(自分のプロジェクトでこれを試しました)。 ちょうど1つの設定が欠落しています:settings.SettingsBehavior.AllowFocusedRow = true;

同じことを示すDevExpress demoを参照してください。

関連する問題