如何解决具有LinqServerMode-DataSource的DevExpress CardView SearchPanel
有没有人可以用这种方法帮助我?
我在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 举报,一经查实,本站将立刻删除。