CommonControls.ucSearchTextbox searchTxb = sender as CommonControls.ucSearchTextbox; DataRow drSelect = se

动态 未结 0 91
小小草
小小草 LV1 2023年9月23日 23:40 发表
根据你提供的代码,报错可能是因为以下原因: 1. 你在使用 "MaterialStandard_Name" 键时,没有检查该键是否已经存在于 SelectedMaterialAllInfo 字典中。如果该键已经存在,那么添加操作将会失败并抛出异常。 2. materialInfo_Grid_Add 变量的类型不是 Dictionary,而是其他类型,例如 List>。这种情况下,你需要先创建一个新的字典对象,将选定项的属性添加到其中,然后将该字典对象添加到 materialInfo_Grid_Add 列表中。 请尝试修改代码如下: ``` CommonControls.ucSearchTextbox searchTxb = sender as CommonControls.ucSearchTextbox; DataRow drSelect = searchTxb.SelectedItemObj as DataRow; if (drSelect == null) return; string materialName = drSelect["名称"].ToString(); if (materialInfo_Grid_Add.Any(d => d.ContainsKey("MaterialStandard_Name") && d["MaterialStandard_Name"] == materialName)) { // 如果已经存在相同的材料名称,则不进行添加操作 return; } Dictionary materialInfo = new Dictionary(); materialInfo["MaterialStandard_Name"] = materialName; materialInfo_Grid_Add.Add(materialInfo); ``` 在这个例子中,我们首先检查 materialInfo_Grid_Add 列表中是否已经存在相同的材料名称。如果已经存在,则不进行添加操作。否则,我们创建一个新的字典对象,将选定项的名称添加到其中,并将该字典对象添加到 materialInfo_Grid_Add 列表中。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复