日期:2014-05-18  浏览次数:20830 次

不显示删除回复显示所有回复显示星级回复显示得分回复 不与数据库连接的。datatable作为数据源dataGridView1.DataSource
不与数据库连接的。datatable作为数据源dataGridView1.DataSource

想通过combobox选中的字符跟datagridview中某一列比较,相等的话,显示出来??
求代码??
 private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
  {
  DataTable dt = dataGridView1.DataSource as DataTable();
  dt.DefaultView.RowFilter = "状态='comboBox2.SelectedText'";
   
   
  }
代码出错了,怎么修改??

------解决方案--------------------
C# code

  DataTable dt = new DataTable();//可以共用
  private void btnSelProp_Click(object sender, EventArgs e)
  {
  OpenFileDialog file = new OpenFileDialog();
  file.Filter = "文档(*.csv)|*.csv";

  if (file.ShowDialog() == DialogResult.OK)
  {
  dt.Columns.Add("状态", typeof(String));
  dt.Columns.Add("匹配方法新", typeof(String));
  dt.Columns.Add("匹配方法旧", typeof(String));
  dt.Columns.Add("序号", typeof(String));
  dt.Columns.Add("名称", typeof(String));
  dt.Columns.Add("地址", typeof(String));
  dt.Columns.Add("区划代码", typeof(String));

  string[] lines = File.ReadAllLines(file.FileName, Encoding.Default);
  for (int i = 1; i < lines.Length; i++)
  {
  string[] data = lines[i].Split(',');
  DataRow dr = dt.NewRow();
  dr[3] = data[0];
  dr[4] = data[1];
  dr[5] = data[2];
  dr[6] = data[3];
  dt.Rows.Add(dr);
  }
  this.dataGridView1.DataSource = dt;
  this.dataGridView1.MultiSelect = false;

  foreach (DataGridViewRow dr in this.dataGridView1.Rows)
  {
  dr.Cells[0].Value = "未配准";
  }

  }

  }
  private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
  {

  DataTable newtable = dt;//直接用dt赋值
  newtable .DefaultView.RowFilter = "状态='+comboBox2.SelectedText'";
  }

------解决方案--------------------
newdt.DefaultView.RowFilter = "状态='+comboBox2.SelectedText'";
状态应该是列标题 可是你加载的列里面没有状态这个字段。 过滤不出信息来
------解决方案--------------------
sorry 多了个+ 
改成 dt.DefaultView.RowFilter = "状态='comboBox2.SelectedText'"
或者 dt.DefaultView.RowFilter = "状态='" + comboBox2.SelectedText + "'"
确定你的列名是状态么,再不行自己调试吧。。