Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Linq设置剑道组合框默认值_C#_Asp.net Mvc_Linq_Kendo Ui_Kendo Combobox - Fatal编程技术网

C# 从Linq设置剑道组合框默认值

C# 从Linq设置剑道组合框默认值,c#,asp.net-mvc,linq,kendo-ui,kendo-combobox,C#,Asp.net Mvc,Linq,Kendo Ui,Kendo Combobox,我是剑道UI的新手,我一直在寻找我想做的事情,但没有任何运气。我有一个包含会计年度的组合框。我想在默认情况下选择当前的一个,它在组合框中并不总是处于相同的等级。我们在数据库中有一个字段,当它是当前年份时设置为0。我希望将0处的字段作为默认值 这是我的控制器中的相关代码。defaultValue变量当前未使用。我试着用它做一些事情,但没有成功,我让它去做,因为它清楚地显示了我想要完成的事情 public JsonResult ListeAnneeFinanciere() {

我是剑道UI的新手,我一直在寻找我想做的事情,但没有任何运气。我有一个包含会计年度的组合框。我想在默认情况下选择当前的一个,它在组合框中并不总是处于相同的等级。我们在数据库中有一个字段,当它是当前年份时设置为0。我希望将0处的字段作为默认值

这是我的控制器中的相关代码。defaultValue变量当前未使用。我试着用它做一些事情,但没有成功,我让它去做,因为它清楚地显示了我想要完成的事情

public JsonResult ListeAnneeFinanciere()
    {
        var dimtempsdate = new DimTempsDateViewModel();

        try
        {
            using (var db = new ParcAutoDbContext())
            {
                var resultat = db.Dim_Temps_Date.Select(a => new { a.ANNEE_FINANCIERE_ID, a.CLASSEMENT })
                                                .Distinct()
                                                .OrderByDescending(a => a.ANNEE_FINANCIERE_ID)
                                                .ToList();

                var defaultValue = db.Dim_Temps_Date.Select(a => new { a.ANNEE_FINANCIERE_ID, a.CLASSEMENT })
                                                .Distinct()
                                                .Where(a => a.CLASSEMENT == 0)
                                                .OrderByDescending(a => a.ANNEE_FINANCIERE_ID)
                                                .ToList();

                return Json(resultat, JsonRequestBehavior.AllowGet);
            }
        }
        catch (Exception ex)
        {
            Log.Instance.Error(ex, message: "Erreur : ListeAnneeFinanciere");
            throw new HttpException((int) HttpStatusCode.InternalServerError, message: "500 - Internal Server Error");
        }
    }
在我看来,这是相关的代码。我知道我需要用value属性设置默认值。我可以硬编码,但这不是我想要的。我也在Databound事件中尝试了一些东西,但没有成功。老实说,我真的不知道该尝试什么

<div class="form-group">
                <label class="control-label col-xs-3">Année financière</label>
                <div class="col-md-4 col-xs-9">
                    @{
                        Html.Kendo().ComboBox()
                            //.Events(e => e.DataBound("setDefaultYear"))
                            .Name("AnneeFinanciere")
                            .Placeholder("Sélectionner une année financière")
                            .NoDataTemplate("Aucune donnée")
                            .DataTextField("ANNEE_FINANCIERE_ID")
                            .DataValueField("ANNEE_FINANCIERE_ID")
                            .AutoBind(true)
                            .Suggest(true)
                            .DataSource(source =>
                            {
                                source.Read(read =>
                                {
                                    read.Action("ListeAnneeFinanciere", "Operation");
                                })
                                .ServerFiltering(true);
                            })
                            //.Value("2017-2018")
                            .HtmlAttributes(new { @style = "width:100%" })
                            .Render();
                    }
                </div>
            </div>

安妮金融家酒店
@{
Html.Kendo().ComboBox()
//.Events(e=>e.DataBound(“setDefaultYear”))
.名称(“安尼金融公司”)
.占位符(“Séselection ner un e année Financiaère”)
.NoDataTemplate(“Aucune donnée”)
.DataTextField(“ANNEE\u Financiare\u ID”)
.DataValueField(“ANNEE\u Financiare\u ID”)
.AutoBind(真)
.建议(正确)
.DataSource(source=>
{
source.Read(Read=>
{
读.操作(“ListeneFinanciere”、“操作”);
})
.ServerFiltering(true);
})
//.价值(“2017-2018年”)
.HtmlAttributes(新的{@style=“width:100%”)
.Render();
}
我知道这一定没那么难,但我是剑道UI的初学者,并没有尝试过MVC。英语不是我的第一语言,但我希望我的问题很清楚,有人能帮助我


非常感谢您的时间。

从上面的示例代码中,由于
DataTextField
DataValueField
都是
ANNEE\u financiaire\u ID
-我不确定您一开始就正确设置了数据,您可能需要先检查一下,也就是说

假设
ANNEE_financiare_ID
是值字段,而
CLASSEMENT
是文本字段,则可以通过将默认数据
var default=new{ANNEE_financiare_ID=0,CLASSEMENT=“default”}
作为视图数据从控制器传递到视图来设置默认值

     html.Kendo().ComboBox()

                        .Name("AnneeFinanciere")
                        .Placeholder("Sélectionner une année financière")
                        .NoDataTemplate("Aucune donnée")
                        .DataTextField("CLASSEMENT")
                        .DataValueField("ANNEE_FINANCIERE_ID")
                        .AutoBind(true)
                        .Suggest(true)
                        .DataSource(source =>
                        {
                            source.Read(read =>
                            {
                                read.Action("ListeAnneeFinanciere", "Operation");
                            })
                            .ServerFiltering(true);
                        })
                        .Value(ViewData["defaultClassement"])
                        .HtmlAttributes(new { @style = "width:100%" })
                        .Render();

默认的ANNEE_Financiare_ID为“2017-2018”。它对应的类别是0。是分类值告诉我哪一年是本年度。为供参考,上一财年的ANNEE_Financiare_ID和分类如下:“2016-2017”和-1。下一个财政年度为“2018-2019”和1。当会计年度发生变化时,数据库中的分类也会发生变化。非常感谢您的回答,也很抱歉遗漏了有关我问题的关键信息。即使您没有完全理解我想要什么(反正是我的错),您的回答帮助我做了我想做的:)非常感谢:)