gpt4 book ai didi

javascript - 按照与显示顺序相同的顺序获取工具栏列表选项

转载 作者:行者123 更新时间:2023-12-03 05:19:40 25 4
gpt4 key购买 nike

我正在从数据库表中为工具栏上的下拉菜单构建选项,为选项的 id 提供与表中索引相同的值,但按选项描述的字母顺序排序。视觉下拉菜单排序得很好,但是当我请求所有选项的列表时,它们是按 id 排序的,即 getAllListOptions() 和 forEachListOption()。除了我自己再次对列表进行排序之外,还有其他方法可以按“正确”的顺序查找选项列表以选择列表中的第一个选项吗?

要强调的是,问题是当选项按描述排序时,ID 不是按升序排列,但是 dhtmlx 在内部按值升序排列它们,而不是按名称升序排列。也就是说,假设 ID 为 8 的选项出现在列表顶部,内部列表中的第一个选项应该是“8”,而不是最小的 ID(在我的例子中是 2)。

网站是 MVC,后端是 MS SQL Server,数据结构(如选项列表)通过 Razor 脚本以 XML 形式传回。

即用于获取选项列表的 ajax 调用通过业务层传递到 DAL,DAL 请求按描述排序的对象列表。然后,razor 脚本会像这样创建 XML

<item id="tbbOptions" type="buttonSelect" title="@(Messages.Lookup("Config"))" selected="-1" text="@Messages.Lookup("Config_Select")">
@foreach (Analysis oAnalysis in Model.Analysis)
{
if (!string.IsNullOrEmpty(oAnalysis.SecondaryField))
{
<item type="button" id="@(oAnalysis.ID)" img="blueprint.png" imgdis="blueprint.png" text="@string.Format("{0}", oAnalysis.Description)" />
}
else
{
<item type="button" id="@(oAnalysis.ID)" img="blueprint.png" imgdis="blueprint.png" text="@string.Format("{0}", oAnalysis.Description)" />
}
}
</item>

SQL查询:

    public List<Analysis> GetConfig()
{
return UnitOfWork.Database.Fetch<Analysis>("SELECT * FROM [Analysis] ORDER BY [Description]");
}

最佳答案

在浏览了 dhtmlx 工具栏的 javascript 源代码后,我构建了一个似乎可以实现我想要的功能的解决方案。显然没有公开视觉选项的函数,因此唯一的访问方法是通过对象的属性。

如果其他人遇到同样的问题,这就是我所做的:

//Get all visible options
var asList = this.objPull[this.idPrefix + "tbb" + sChart].p_tbody.childNodes;
//If options exist for Chart set drop-down to first option in list
if (asList.length > 0) {
this.setListOptionSelected("tbb" + sChart, asList[0].idd);
this.setItemText("tbb" + sChart,"<strong>{0}</strong>".format(this.GetSelectedItemText("tbb" + sChart)));
}

关于javascript - 按照与显示顺序相同的顺序获取工具栏列表选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41450734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com