SelectedValuePath プロパティと DisplayMemberPath プロパティを使用すると、複合型リストに AutoComplete を連結することができます。ここでは、名前空間 System.Drawing の SystemColors クラスに AutoComplete コントロールを連結します。このコントロールは、このクラスにあるすべてのメンバのリストを提供します。
次の図は、SelectedValuePath プロパティと DisplayMemberPath プロパティを設定した後の AutoComplete を示しています。この例では、「クイックスタート」でアプリケーションに追加した Countries.cs モデルを使用します。

次のコード例は、AutoComplete で複合型の連結を有効にする方法を示します。
AutoCompleteController.cs
| Razor |
コードのコピー
|
|---|---|
public ActionResult ComplexType()
{
var list = GetSystemColors();
return View(list);
}
private static NamedColor[] GetSystemColors()
{
return Enum.GetValues(typeof(KnownColor))
.Cast<KnownColor>()
.Select(c => new NamedColor
{
Name = c.ToString(),
Value = "#" + Color.FromKnownColor(c).ToArgb().ToString("X8").Substring(2)
})
.ToArray();
}
}
|
|
AutoComplete.cshtml
| HTML |
コードのコピー
|
|---|---|
@model IEnumerable<TagFlexGrid.Models.NamedColor> <div> <label>複合型リスト</label> <c1-auto-complete display-member-path="Name" selected-value-path="Value" items-source-action="@Url.Action("TypesInMscorlib")"> <c1-items-source source-collection="Model"> </c1-items-source> </c1-auto-complete> </div> |
|