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
| Razor |
コードのコピー
|
|---|---|
@model IEnumerable<MVCFlexGrid_JP.Models.NamedColor>
<div>
<label>複合型リスト</label>
@(Html.C1().AutoComplete()
.Bind(Model)
.DisplayMemberPath("Name")
.SelectedValuePath("Value")
.ItemsSourceAction(Url.Action("TypesInMscorlib"))
)
</div>
|
|