I’m trying to get data from database according to the item selected in the ComboBox but when I try to access the selected ComboBox item it gives me “System.Data.DataRowView” […?]
I did the same thing with a simple select query in another function and that works fine but I don’t know why it doesn’t work in this query:
_dataAdapter.SelectCommand.CommandText = "SELECT lt.Name FROM Leader as lt LEFT JOIN Material as mt ON lt.Student_id=mt.lead_id where lt.Name=" + "'" + cmbLeader.SelectedItem.ToString() + "'";
Can anybody tell me what might be the problem?
SelectedItemis the data object that is bound to theComboBox‘s data source, which in this case isDataRowView.You need to cast
SelectedItemtoDataRowView, then retrieve the appropriate value from it.You can do this as follows:
then replace (in your CommandText):
with:
This will gracefully handle the case where DataRowView is null.
YourFieldNamein the above code should be the name of the field in the data source that contains the Name value. If you have set this field name in the combobox’sDisplayMemberorValueMemberproperties, then you can just use this property instead in order to save yourself some heartache down the road when this field changes or when you want to reuse this code elsewhere:Alternatively, you can use
cmbLeader.SelectedValue.