我写了这段代码:
public List<TResult> SelectAll<TResult>(Func<Regions, TResult> selector) where TResult : class
{
using (RepositoryDataContext = new DataClasses1DataContext())
{
return RepositoryDataContext.Regions.Select<Regions, TResult>(selector).ToList<TResult>();
}
}
以这种方式从表单中调用它:
dgvFindFirst.DataSource = clsr.SelectAll<SelectAllRegion>(MY SELECT LAMBDA EXP);
但是在编写这样的方法时:
public IEnumerable<TResult> SelectAll<TResult>(Func<Regions, TResult> selector) where TResult : class
{
using (RepositoryDataContext = new DataClasses1DataContext())
{
return RepositoryDataContext.Regions.Select<Regions, TResult>(selector).AsEnumerable<TResult>();
}
}
DataGridView Not Bound任何Nothing返回。 有什么问题?
答案 0 :(得分:6)
DataGridView
DataSource
属性可以是实现其中一个接口的任何对象:IList
,IListSource
,IBindingList
或IBindingListView
,哪个List<T>
会这样做,但IEnumberable<T>
没有。参考:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource.aspx