Click here to Skip to main content
15,880,543 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
See more:
Hi,

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
             dv = ds.Tables["Employee"].DefaultView;
             dv.RowFilter = "Deptno=" + comboBox1.SelectedItem;
             dataGridView1.DataSource = dv;
        }


Can Anybody tell me what is the error in the above code.
I am getting error "Cannot find column [System.Data.DataRowView]."

Thanks,
Thiru
Posted
Updated 19-Jan-21 8:16am

The message is self explanatory. It cannot find the column name. Make sure your select query has the column name.
 
Share this answer
 
Quote:
dv.RowFilter = "Deptno=" + comboBox1.SelectedItem;

I suspect that comboBox1 is bound to a datatable; then the SelectedItem will be type System.Data.DataRowView.

The implict conversion of comboBox1.SelectedItem to a string will yield "Deptno=System.Data.DataRowView".

Try:

dv.RowFilter = "Deptno=" + ((DataRowView)ComboBox1.SelectedItem).Row("Your Desired Column").ToString()
 
Share this answer
 
write just

dv.RowFilter = "Deptno=" + comboBox1.SelectedItem.toString();
 
Share this answer
 
C#
dv = ds.Tables["Employee"].DefaultView;
             dv.RowFilter = "Deptno=" + comboBox1.SelectedItem;
             dataGridView1.DataSource = dv.DefaultView;
 
Share this answer
 
Hi
You must pass dv.RowFilter = "Deptno= '"+ comboBox1.SelectedItem +"' ";
 
Share this answer
 
dv = ds.Tables["Employee"].DefaultView;
dv.RowFilter = "Deptno=" + comboBox1.SelectedText;
dataGridView1.DataSource = dv;


or

dv = ds.Tables["Employee"].DefaultView;
dv.RowFilter = "Deptno=" + comboBox1.GetItemText(comboBox1.SelectedItem);
dataGridView1.DataSource = dv;
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900