0

KendoUI ASP Wrapperを使用していますが、「ActivityCodeID」のデフォルトのForeignKeyエディターをオートコンプリートに変更するためのサポートが必要です。どうすれば変更できますか?

@(Html.Kendo().Grid<TimeEntry>()
    .Name("grid-timeentry-project")
    .DataSource(datasource => datasource.Ajax()
        .Model(model =>
                    {
                        model.Id(record => record.TimeEntryID);
                        model.Field(f => f.TimeSheetID).DefaultValue(0);
                        model.Field(f => f.TimeEntryTypeID).DefaultValue(ViewBag.ProjectTimeEntryTypeId);
                        model.Field(f => f.ActivityCodeID);
                        model.Field(f => f.Description);
                        model.Field(f => f.Duration);
                        model.Field(f => f.DateAdded);                     
                    })
        .Read(read => read.Action("GetProjectTimeEntries", "TimeEntry"))
    )
    .Columns(columns =>
                 {
                     columns.Bound(r => r.TimeEntryID).Hidden(true);
                     columns.Bound(r => r.TimeSheetID).Hidden(true);
                     columns.Bound(r => r.TimeEntryTypeID).Hidden(true);
                     columns.ForeignKey(r => r.ActivityCodeID, (System.Collections.IEnumerable)ViewData["AllActivityCodes"], "ActivityCodeID", "ActivityCode1").Title("ActivityCode");                                         
                     columns.Bound(r => r.Description);
                     columns.Bound(r => r.Duration).Title("Duration (s)");
                     columns.Command(command => { command.Edit(); command.Destroy(); }).Width(170);
                 })
      )

EFモデルのDataAnnotationを変更して、EditorTemplateを宣言しようとしましたが、デフォルトの「GridForeignKey」editortemplateを使用しています。

これが私のEFです。

[MetadataType(typeof(TimeEntryMetaData))]
public partial class TimeEntry
{
}

public class TimeEntryMetaData
{
    [UIHint("ActivityCodeIDEditor")]
    public int ActivityCodeID { get; set; }
}

これが私の「ActivityCodeIDEditor」エディタテンプレートです。「asdf」を取得できないため、エディターテンプレートが考慮されていないと想定します。

    @model object
<span>asdf</span>
@*@(
 Html.Kendo().DropDownListFor(m => m)        
        .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])

助けてください。ありがとう!)* @

4

1 に答える 1

4

エディターテンプレートの名前を指定できる特別な列メソッドがあります。試す

columns.bound(x=>x.some).EditorTemplateName("foo");
于 2013-03-25T20:56:10.877 に答える