这个错误提示表明 `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` 属性。
请注意,在使用自定义类型获取数据时,你需要确保属性名和数据类型都正确。如果属性名不正确或者数据类型不匹配,可能会导致运行时错误。