1

私は kendo ui バッチ編集グリッドを使用しており、その列としてドロップダウンを使用したいと考えています。この件に関する他のトピックを読み、次の手順を実行しました。

1- テキスト/値のリストを作成し、次のようにビューバッグで DocumetTypesSelectList という名前を付けました。

            ViewBag.DocumetTypesSelectList = DocumentTypesBll.GetDocumentTypes().ToList().Select(item => new SelectListItem
        {
            Value = item.DocumentTypeId.ToString(),
            Text = item.Title
        }).ToList();

2-ビューバッグを次のようにビュー内の SelectItems のリストとしてキャストします。

var DocumetTypesSelectList = ViewBag.DocumetTypesSelectList as List<SelectListItem> ?? new List<SelectListItem>();

3-次のようにグリッドに列を追加しました。

columns.ForeignKey(p => p.DocumentTypeId, (System.Collections.IEnumerable)DocumetTypesSelectList, dataFieldText: "Text", dataFieldValue: "Value")

しかし、アイテムを選択するために開いていません。クリックすると値を変更でき、クリックしないと DocumetTypesSelectList を使用してテキストが表示されます。よろしくお願いします。

4

1 に答える 1

0

についてもう少し説明してください

クリックすると値を変更でき、クリックしないとテキストが表示されます

ここで(System.Collections.IEnumerable)DocumetTypesSelectList、DocumetTypesSelectList オブジェクトを適切に渡すことができなかったようです。ViewBag asViewBag.DocumetTypesSelectListEx = DocumetTypesSelectListを使用してコントローラーでこれを行うことができ、ビューでこの ViewBagを as として使用できます。(System.Collections.IEnumerable)ViewBag.DocumetTypesSelectListEx

次に、DocumetTypes には、値用と表示用の 2 つのフィールドが必要です。「テキスト」と「値」の両方を持っているようです。こちらのデモもご覧ください

于 2014-11-30T12:59:08.783 に答える