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