C# 如何从数据表中获取一个值,该数据表中的行值是C中组合框的项?
如何通过组合框从DataTable而不是datagrid中获取值?datatable的LessonType列是组合框的所有项。如果我想得到lessontype“吉他”的价格怎么办 范例C# 如何从数据表中获取一个值,该数据表中的行值是C中组合框的项?,c#,.net,C#,.net,如何通过组合框从DataTable而不是datagrid中获取值?datatable的LessonType列是组合框的所有项。如果我想得到lessontype“吉他”的价格怎么办 范例 lessontype | Rate -----------+-------- Piano | 100 Guitar | 50 Violin | 200 Trumpet | 150 如果您使用的是MVVM,则可以将组合框绑定到ViewModel中的属性 XAM
lessontype | Rate
-----------+--------
Piano | 100
Guitar | 50
Violin | 200
Trumpet | 150
如果您使用的是MVVM,则可以将组合框绑定到ViewModel中的属性 XAML: ViewModel必须实现INotifyPropertychanged接口:
private int _myList;
public List<YourType> MyList
{
get { return _myList; }
set
{
_myList = value;
NotifyPropertyChanged("MyList");
}
}
private int _myIndex;
public int MyIndex
{
get { return _myIndex; }
set
{
_myIndex= value;
NotifyPropertyChanged("MyIndex");
}
}
每当您想知道用户选择了组合框中的哪个项目时,都可以使用MyList[MyIndex]。在组合框中存储哪些内容来获取该项目。请提供一些您一直在使用的代码。我一直在尝试此代码,但它提供了一个错误,即找不到列[rate]。MyCode:DataRow[]filteredRows=dt.Selectstring.Format{0}类似“{1}%”,rate,lessons.Text;我一直在尝试这段代码,但它提供了一个错误,说明找不到列[rate]。MyCode:DataRow[]filteredRows=dt.Selectstring.Format{0}类似“{1}%”,rate,lessons.Text;如果列表不断更改,则还应使用NotifyPropertychanged方法。让我知道它是否有效:什么列表?lessons是组合框的名称。因此,无论我选择什么项目,它都已存储在lessons.text中。我说的对吗?对不起,我只是个新手。好的,我不确定我当时是否理解这个问题。您能提供更多的代码吗?您在哪里初始化了数据表,在哪里尝试从中获取项目?
private int _myList;
public List<YourType> MyList
{
get { return _myList; }
set
{
_myList = value;
NotifyPropertyChanged("MyList");
}
}
private int _myIndex;
public int MyIndex
{
get { return _myIndex; }
set
{
_myIndex= value;
NotifyPropertyChanged("MyIndex");
}
}