日期:2014-05-18 浏览次数:20923 次
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 + "'"
确定你的列名是状态么,再不行自己调试吧。。