问题描述
有没有人可以用这种方法帮助我?
我在ASP-WebForm上将DevExpress-CardView绑定到LinqServerMode-DataSource。由于Selecting在CodeBehind中手动运行,因此已实现的SearchPanel-Logic没有运行。
因此,我尝试在Selecting-Event中获取SearchPanel-Value(如果它不为空)。但这没有效果。在SearchPanel中写入内容后,返回的数据为空。
这是选择方法:
protected void LinqServerModeDataSourceNEU_Selecting(object sender,DevExpress.Data.Linq.LinqServerModeDataSourceSelectEventArgs e)
{
Data.linqTosqlSammlungDataContext db = new Data.linqTosqlSammlungDataContext();
e.KeyExpression = "Schnittberichte_ID";
if (CardView.SearchPanelFilter != "")
{
e.QueryableSource = (from FilmeStamm in db.FilmeStamm
where FilmeStamm.bildBinary != null && FilmeStamm.Filmtitel.ToLower().Contains(CardView.SearchPanelFilter.ToString().ToLower())
select new
{
FilmeStamm.Schnittberichte_ID,FilmeStamm.Filmtitel,original = "(" + FilmeStamm.Filmtitel_ORIGINAL + ")",FilmeStamm.Freigabe,FilmeStamm.bewertung,bildBinary = FilmeStamm.bildBinary.ToArray(),FilmeStamm.Produktionsjahr,FilmeStamm.standortSammlung,info = FilmeStamm.Produktionsjahr + " / " + FilmeStamm.bewertung,// SNIPPET: LinqTosql Hole Liste von Fremdschlüssel-Werten von Zwischentabelle innerhalb der Abfrage
genres = string.Join(",",(from filmstammGenre in db.filmstammGenre
where filmstammGenre.Schnittberichte_ID == FilmeStamm.Schnittberichte_ID
join genreFilm in db.genreFilm on filmstammGenre.GFID equals genreFilm.GFID
select new { genreFilm.genrefilmbezeichnung }).distinct().Select(x => x.genrefilmbezeichnung).ToList())
});
}
else
{
e.QueryableSource = (from FilmeStamm in db.FilmeStamm
where FilmeStamm.bildBinary != null
select new
{
FilmeStamm.Schnittberichte_ID,(from filmstammGenre in db.filmstammGenre
where filmstammGenre.Schnittberichte_ID == FilmeStamm.Schnittberichte_ID
join genreFilm in db.genreFilm on filmstammGenre.GFID equals genreFilm.GFID
select new { genreFilm.genrefilmbezeichnung }).distinct().Select(x => x.genrefilmbezeichnung).ToList())
});
}
}
任何想法在这种情况下怎么了?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)