0

ボタンクリックでデータベースを使用しないカスタムリストを使用して、剣道Uiグリッドに詳細を表示しようとしていますが、グリッドに詳細を表示できませんでした。そのために、このようにしました..

これは私のモデルです

namespace KendoPratapSampleMVCApp.Models
{
    public class SampleGrids
    {
        public List<Sample> samples;
    }
    public class Sample
    {
        public string SampleDescription { get; set; }
        public string SampleCode {get; set;}
        public string SampleItems { get; set; }
    }
}

getsamples()これはコントローラーです(ここでは、イベント内でメソッドを呼び出していPostValuesます(これはボタンクリックイベントです))

  namespace KendoPratapSampleMVCApp.Controllers
   {
     public class SearchResultsDisplayController : Controller
     {
        //
        // GET: /SearchResultsDisplay/

        public ActionResult Index()
        {
            return View();
        }
        public static IEnumerable<Sample> GetSamples()
        {
            List<Sample> sampleAdd = new List<Sample>();
            Sample s12 = new Sample();
            s12.SampleCode = "123se";
            s12.SampleDescription = "GOOD";
            s12.SampleItems = "newone";

            Sample s2 = new Sample();
            s2.SampleCode = "234se";
            s2.SampleDescription = "Average";
            s2.SampleItems = "oldone";

            sampleAdd.Add(s12);
            sampleAdd.Add(s2);            
            return sampleAdd;
        }
        [HttpPost]
        public ActionResult PostValues(Sample model)
        {
            return View("Index",GetSamples());               
        }
        public ActionResult Orders_Read([DataSourceRequest]DataSourceRequest request)
        {
            return Json(GetSamples().ToDataSourceResult(request));
        }     
    }
}

これが私の見解です(ここではjqueryを使用してバインドしています)

 @Scripts.Render("~/bundles/jquery")     
<script type ="text/javascript">
    $('#Submit1').click(function () {
        alert('1'); // dint get this alert when I click on submit button
        $('#grid12').data('kendoGrid').dataSource.read();
       // $('#grid12').css("display", "block");
    });
</script>    
@model IEnumerable<KendoPratapSampleMVCApp.Models.Sample>    
@{
    ViewBag.Title = "Index";
}    
<h2>Index</h2>
@using (Html.BeginForm("PostValues", "SearchResultsDisplay", FormMethod.Post))
{ 

    <input id="Submit1" type="submit" value="SubmitValue" />
    @(Html.Kendo().Grid<KendoPratapSampleMVCApp.Models.Sample>()    
    .Name("grid12")
    .Columns(columns => {
        columns.Bound(p => p.SampleDescription).Filterable(false).Width(100);
        columns.Bound(p => p.SampleCode).Filterable(false).Width(100);
        columns.Bound(p => p.SampleItems).Filterable(false).Width(100);
    })
    .Pageable()
    .Sortable()
    .Scrollable()
    .AutoBind(false) // here I am disabling automatic binding at page load
    .Filterable()
    .HtmlAttributes(new { style = "height:430px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "SearchResultsDisplay"))
     )
  )
}

ボタンを送信するときにデータをバインドできません。何か提案やアイデアをいただければ幸いです...どうもありがとう....

4

2 に答える 2

3

このように追加する必要がありDocument.readyます。script

<script type="text/javascript">
    $(document).ready(function () {
        $('#Submit1').click(function () {
            alert('1'); // dint get this alert when I click on submit button
            $('#grid12').data('kendoGrid').dataSource.read();
            // $('#grid12').css("display", "block");
        });
    });
</script>

Submitボタンのタイプをに変更する必要がありますbutton

 <input id="Submit1" type="button" value="SubmitValue" />

あなたのグリッドは完全にバインドされています。

于 2013-08-05T08:39:04.720 に答える
0

ボタンのタイプを「送信」から「ボタン」に変更し、JavaScript でクリック イベントを呼び出します。

$(document).ready(function(){
   $('#yourButtonId').click(function(){

   //write the  desired logic here

    })
})
于 2014-01-27T04:30:07.983 に答える