如何解决如何将List <KeyValuePair>的值绑定为某些对象的列表作为数据源与SyncFusionDropDownList?
我正在尝试将一个列表作为数据源绑定到我的(SyncFusion)DropDownList,我的原始数据源是一个像这样的字典:
public Dictionary<string,List<Kpi>> KpiGroupDropDown { get; set; } = new Dictionary<string,List<Kpi>>();
如您所见,该词典包含3个项目,项目1 [索引0]的键为“推进”,并且引用了包含3个对象的列表。
因为SyncFusion DropDownList仅接受ICollection类型,所以我已将我的Dictionary转换成这样的列表:
List<KeyValuePair<string,List<Kpi>>> list = new List<KeyValuePair<string,List<Kpi>>>();
现在我初始化了(SyncFusion)DropDownList:
<SfDropDownList TValue="KeyValuePair<string,List<Kpi>>"
TItem="KeyValuePair<string,List<Kpi>>"
DataSource="@list"
@bind-Value="@SelectedGroupChartType"
CssClass="custom-dropdown"
Width="100px">
<DropDownListEvents TValue="KeyValuePair<string,List<Kpi>>" ValueChange="@OnChartTypeSelected" />
<DropDownListFieldSettings Text="list.Key" />
</SfDropDownList>
但是我在TValue,TItem,DropDownListEvent TValue和DropDownListFieldSettings Text上填写的项目不正确(我认为)。我也不确定在这些属性上填写什么,有人可以帮我弄清楚吗?
我还向DropDownListEvents中的此DropDownList添加了一个ValueChange(OnChange方法),该值称为“ OnChartTypeSelected”,该方法的代码如下:
private void OnChartTypeSelected(Syncfusion.Blazor.DropDowns.ChangeEventArgs<KeyValuePair<string,List<Kpi>>> args)
{
var test= args;
}
我想要实现的目标:
DropDownList显示KeyValuePair中每个项目的键,我想将值的(所选项目的列表传递到我的OnChange方法的“ Args”中。
有人知道我能做到这一点吗?
谢谢!
解决方法
当前,syncfusion不支持在Dropdownlist组件中将TValue呈现为复杂数据类型。我们已经考虑了这种复杂的情况,并在最后将此要求记录为功能请求。我们将在所有即将发布的版本中实现此功能。感谢您的耐心等候。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。