This repository has been archived by the owner on Dec 29, 2023. It is now read-only.
/
MultiSelectController.cs
64 lines (60 loc) · 2.2 KB
/
MultiSelectController.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using DevExpress.Web.Mvc;
using Sample.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace GridLookupCustomBinding.Controllers
{
public class MultiSelectController : Controller
{
//
// GET: /MultiSelect/
public ActionResult GridLookupMultiSelect()
{
return View();
}
public ActionResult GridLookupMultiSelectPartial()
{
var viewModel = GridLookupExtension.GetViewModel("GridLookup");
if (viewModel == null)
viewModel = CreateGridLookupViewModel();
return GridLookupCustomActionCore(viewModel);
}
public ActionResult GridLookupSortingAction(GridLookupColumnState column, bool reset)
{
var viewModel = GridLookupExtension.GetViewModel("GridLookup");
viewModel.SortBy(column, reset);
return GridLookupCustomActionCore(viewModel);
}
public ActionResult GridLookupPagingAction(GridLookupPagerState pager)
{
var viewModel = GridLookupExtension.GetViewModel("GridLookup");
viewModel.Pager.Assign(pager);
return GridLookupCustomActionCore(viewModel);
}
public ActionResult GridLookupCustomActionCore(GridLookupViewModel gridLookupModel)
{
gridLookupModel.ProcessCustomBinding(
CustomBindingHandlers.GetDataRowCount,
CustomBindingHandlers.GetData,
CustomBindingHandlers.GetRowValues
);
return PartialView("GridLookupMultiSelectPartial", gridLookupModel);
}
static GridLookupViewModel CreateGridLookupViewModel()
{
var viewModel = new GridLookupViewModel();
viewModel.KeyFieldName = "OrderID";
viewModel.TextFormatString = "{0} {2}";
viewModel.KeyFieldName = "OrderID";
viewModel.Columns.Add("OrderID");
viewModel.Columns.Add("ShipName");
viewModel.Columns.Add("ShipCity");
viewModel.Columns.Add("OrderDate");
viewModel.Pager.PageSize = 10;
return viewModel;
}
}
}