1

我有 3 个单选按钮。我有 3 个不同的存储过程,为 3 个不同的单选按钮调用。示例:我有一个剑道网格。我希望所有 3 个单选按钮选择的结果都显示在同一个网格中。FindCustomer_Result 是我调用客户详细信息的存储过程。现在,如果我选择第二个单选按钮,我希望显示资源存储过程详细信息。请帮忙。

@(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

创建一个包含三个 RadioButtons 的 ViewModel:

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

然后将 ViewModel 填充到您的 Controller (Customer) 和指定的 Action (GetCustomer)

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 回答