还是报错CS1061: "ucSearchTextboX"未包含"Selectedltem"的定义,并且找不到可接受第一个ucSearchTextboX”"类型参数的可访问扩展方法”Selectedltem”(是否缺少using 指令或程序

动态 未结 0 92
小小草
小小草 LV1 2023年9月23日 23:40 发表
这个错误提示表明 `ucSearchTextbox` 类型中没有名为 `SelectedItem` 的属性,因此你不能直接从中获取选定的行。你需要根据实际情况修改代码。 如果 `ucSearchTextbox` 控件中包含一个名为 `SelectedItem` 的属性,但是该属性的类型不是 `DataRowView`,那么你需要将其转换为 `DataRowView` 类型。以下是示例代码: ```csharp private void ucSearchTextbox_SelectComplated1(object sender, EventArgs e) { var searchTextbox = sender as ucSearchTextbox; if (searchTextbox != null) { var selectedRow = searchTextbox.SelectedItem as YourItemType; // 将选定的行转换为自定义类型 if (selectedRow != null) { DataRowView rowView = selectedRow.Row as DataRowView; // 将自定义类型转换为 DataRowView if (rowView != null) { string id = rowView["商品名"].ToString(); string code = rowView["所属类别编码"].ToString(); materialInfo_Grid_Add1.MaterialStandard_ID = id; } } } } ``` 在这里,我们首先将 `sender` 参数转换为 `ucSearchTextbox` 类型,并检查其是否为空。然后,我们从 `searchTextbox.SelectedItem` 属性中获取选定的行,并将其转换为自定义类型 `YourItemType`。如果选定的行不为空,我们就可以将其转换为 `DataRowView` 类型,并从中获取所需的数据,并将其赋值给 `materialInfo_Grid_Add1.MaterialStandard_ID` 属性。 请注意,在使用自定义类型获取数据时,你需要确保属性名和数据类型都正确。如果属性名不正确或者数据类型不匹配,可能会导致运行时错误。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复