1

3 つのラジオ ボタンがあります。3 つの異なるラジオ ボタンに対して呼び出される 3 つの異なるストアド プロシージャがあります。例: 私は剣道グリッドを持っています。3 つのラジオボタンの選択すべてについて、結果を同じグリッドに表示したいと考えています。FindCustomer_Result は、顧客の詳細を呼び出すストアド プロシージャです。2 番目のラジオボタンを選択すると、リソースのストアド プロシージャの詳細が表示されます。助けてください。

@(Html.Kendo().Grid<proj.Data.FindCustomer_Result>()
            .Name("CustomerSearch")
            .Columns(columns =>
            {
                columns.Bound(p => p.ID).Visible(false);
                columns.Bound(p => p.FirstName).Width(130);
                columns.Bound(p => p.LastName).Width(100);
                columns.Bound(p => p.Address1).Width(150);
            })
            .DataSource(dataSource => dataSource
                .Ajax()
          //call getcustomer to fetch details of customer
         .Read(read => read.Action("GetCustomer", "Customer")
                                .Data("functiontobind"))
                .ServerOperation(false)
            )
            .Sortable()
            .Scrollable()
            .Filterable()
            .RowAction(row => row.HtmlAttributes.Add("data-id", row.DataItem.ID))
            )
4

1 に答える 1

1

3 つの RadioButton を含む ViewModel を作成します。

public class MyViewModel
{
    public int Id {get;set;}
    public bool Radio1 {get;set;}
    public bool Radio2 {get;set;}
    public bool Radio3 {get;set;}
}

次に、コントローラー (顧客) と指定されたアクション (GetCustomer) に ViewModel を入力します。

public class CustomerController : Controller
{
    .......
    public ActionResult GetCustomer([DataSourceRequest] DataSourceRequest gridRequest)
    {
        IList<MyViewModel> myViewModels = new List<MyViewModel>();
        //fill ViewModels here from stored Procedures
        return Json(myViewModels.ToDataSourceResult(gridRequest));
    }
    ........
}

次に、ビュー コードを次のように変更します。

@(Html.Kendo().Grid<MyViewModel>()
        .Name("CustomerSearch")
        .Columns(columns =>
        {
            columns.Bound(p => p.ID).Visible(false);
            columns.Bound(p => p.Radio1).Width(130);
            columns.Bound(p => p.Radio2).Width(100);
            columns.Bound(p => p.Radio3).Width(150);
        })
        .DataSource(dataSource => dataSource
            .Ajax()
      //call getcustomer to fetch details of customer
     .Read(read => read.Action("GetCustomer", "Customer")
                            .Data("functiontobind"))
            .ServerOperation(false)
        )
        .Sortable()
        .Scrollable()
        .Filterable()
        .RowAction(row => row.HtmlAttributes.Add("data-id", row.DataItem.ID))
        )
于 2013-07-18T12:25:37.957 に答える