Без определенного порядка (я - веб-разработчик.NET, если Вы не можете сказать из списка):
Answered Here: Dynamically set defaults for scaffolded tables according to dynamic filters
Check Dynamic Data Futures "Populate Insert templates with values from filters": http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=14475
Also, this blog post by Stephen Naughton: http://csharpbits.notaclue.net/2009/01/getting-default-values-from-list-page.html
Есть ли событие, которое запускается при создании новой записи? Если вы можете реализовать обработчик событий, а текущий набор фильтров - это то, к чему вы можете получить доступ программно, тогда в обработчике событий newRecord () вы должны иметь возможность пройти через каждый из ваших текущих фильтров, определить, в каком поле фильтр для и каково значение фильтра, устанавливая в поле новой записи значение фильтра.
Вот некоторый псевдокод, если он помогает:
NewRecordHandler(object sender, NewRecordEventArgs e)
{
Record newRecord = (Record)e.NewRecord;
foreach(Filter filter in m_dataSource.Filters)
{
newRecord[filter.FieldName] = filter.Value;
}
}
Вам потребуется динамический доступ к свойствам записей , используя индекс или строку, например Record ["ColumnName"] = value;
. В противном случае вы не сможете сделать это в цикле, как показано на рисунке. Надеюсь, это поможет.
Я бы использовал Object Factory
, подключенный к кнопке New при нажатии. Я бы инициализировал Factory
либо значениями Filter
, либо интерфейсом к View, чтобы Factory мог возвращать правильно инициализированные объекты.