@model IEnumerable<string>
@using DevExtreme.AspNet.Mvc.Builders;
<div class="dx-fieldset">
<div class="dx-fieldset-header">Simple lookup</div>
<div class="dx-field">
@(Html.DevExtreme().Lookup()
.DataSource(Model)
.DropDownOptions(p => p.ShowTitle(false))
.Value(Model.First())
.InputAttr("aria-label", "Simple lookup")
)
</div>
</div>
<div class="dx-fieldset">
<div class="dx-fieldset-header">Grouped lookup</div>
<div class="dx-field">
@(Html.DevExtreme().Lookup()
.DataSource(d => d.WebApi()
.Controller("EmployeesTasks")
.Key("ID")
)
.DataSourceOptions(o => o.Group("Assigned"))
.DropDownOptions(p => p.HideOnOutsideClick(true)
.ShowTitle(false)
)
.Grouped(true)
.DisplayExpr("Subject")
.InputAttr("aria-label", "Grouped lookup")
)
</div>
</div>
using DevExtreme.MVC.Demos.Models.SampleData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
namespace DevExtreme.MVC.Demos.Controllers {
public class LookupController : Controller {
public ActionResult Basics() {
return View(SampleData.EmployeesList);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Web.Http;
using DevExtreme.AspNet.Data;
using DevExtreme.AspNet.Mvc;
using DevExtreme.MVC.Demos.Models.SampleData;
namespace DevExtreme.MVC.Demos.Controllers.ApiControllers {
public class EmployeesTasksController : ApiController {
[HttpGet]
public HttpResponseMessage Get(DataSourceLoadOptions loadOptions) {
return Request.CreateResponse(DataSourceLoader.Load(SampleData.EmployeesTasks, loadOptions));
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
namespace DevExtreme.MVC.Demos.Models.SampleData {
public partial class SampleData {
public static readonly string[] EmployeesList = new[] {
"John Heart",
"Samantha Bright",
"Arthur Miller",
"Robert Reagan",
"Greta Sims",
"Brett Wade",
"Sandra Johnson",
"Ed Holmes",
"Barb Banks",
"Kevin Carter",
"Cindy Stanwick",
"Sammy Hill",
"Davey Jones",
"Victor Norris",
"Mary Stern",
"Robin Cosworth",
"Kelly Rodriguez",
"James Anderson",
"Antony Remmen",
"Olivia Peyton",
"Taylor Riley",
"Amelia Harper",
"Wally Hobbs",
"Brad Jameson",
"Karen Goodson",
"Marcus Orbison",
"Sandy Bright",
"Morgan Kennedy",
"Violet Bailey",
"Ken Samuelson",
"Nat Maguiree",
"Bart Arnaz",
"Leah Simpson",
"Arnie Schwartz",
"Billy Zimmer",
"Samantha Piper",
"Maggie Boxter",
"Terry Bradley",
"Gabe Jones",
"Lucy Ball",
"Jim Packard",
"Hannah Brookly",
"Harv Mudd",
"Clark Morgan",
"Todd Hoffman",
"Jackie Garmin",
"Lincoln Bartlett",
"Brad Farkus",
"Jenny Hobbs",
"Dallas Lou",
"Stu Pizaro"
};
}
}
using System;
using System.Collections.Generic;
namespace DevExtreme.MVC.Demos.Models.SampleData {
public partial class SampleData {
public static readonly IEnumerable<EmployeeTask> EmployeesTasks = new[] {
new EmployeeTask {
ID = 1,
Assigned = "Mr. John Heart",
Subject = "Choose between PPO and HMO Health Plan"
},
new EmployeeTask {
ID = 2,
Assigned = "Mr. John Heart",
Subject = "Google AdWords Strategy"
},
new EmployeeTask {
ID = 3,
Assigned = "Mr. John Heart",
Subject = "New Brochures"
},
new EmployeeTask {
ID = 4,
Assigned = "Mr. John Heart",
Subject = "Update NDA Agreement"
},
new EmployeeTask {
ID = 5,
Assigned = "Mr. John Heart",
Subject = "Review Product Recall Report by Engineering Team"
},
new EmployeeTask {
ID = 6,
Assigned = "Mrs. Olivia Peyton",
Subject = "Update Personnel Files"
},
new EmployeeTask {
ID = 7,
Assigned = "Mrs. Olivia Peyton",
Subject = "Review Health Insurance Options Under the Affordable Care Act"
},
new EmployeeTask {
ID = 8,
Assigned = "Mrs. Olivia Peyton",
Subject = "Non-Compete Agreements"
},
new EmployeeTask {
ID = 9,
Assigned = "Mrs. Olivia Peyton",
Subject = "Give Final Approval for Refunds"
},
new EmployeeTask {
ID = 10,
Assigned = "Mr. Robert Reagan",
Subject = "Deliver R&D Plans for 2013"
},
new EmployeeTask {
ID = 11,
Assigned = "Mr. Robert Reagan",
Subject = "Decide on Mobile Devices to Use in the Field"
},
new EmployeeTask {
ID = 12,
Assigned = "Mr. Robert Reagan",
Subject = "Try New Touch-Enabled WinForms Apps"
},
new EmployeeTask {
ID = 13,
Assigned = "Mr. Robert Reagan",
Subject = "Approval on Converting to New HDMI Specification"
},
new EmployeeTask {
ID = 14,
Assigned = "Ms. Greta Sims",
Subject = "Approve Hiring of John Jeffers"
},
new EmployeeTask {
ID = 15,
Assigned = "Ms. Greta Sims",
Subject = "Update Employee Files with New NDA"
},
new EmployeeTask {
ID = 16,
Assigned = "Ms. Greta Sims",
Subject = "Provide New Health Insurance Docs"
}
};
}
}
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
namespace DevExtreme.MVC.Demos.Models {
[JsonConverter(typeof(StringEnumConverter))]
public enum Priority { High, Normal, Low, Urgent }
public class EmployeeAppointment : Appointment {
public Priority Priority { set; get; }
public IEnumerable<int> OwnerId { get; set; }
}
public class EmployeeTask {
public int ID { set; get; }
public string Subject { set; get; }
public DateTime StartDate { set; get; }
public DateTime DueDate { set; get; }
public string Status { set; get; }
public Priority Priority { set; get; }
public int Completion { set; get; }
public int[] OwnerId { get; set; }
public string Assigned { get; set; }
public string RecurrenceRule { get; set; }
}
}
.dx-theme-generic .dx-fieldset,
.dx-theme-material .dx-fieldset {
width: 40%;
float: left;
}
.dx-field > .dx-lookup {
flex: 1;
}