有一个表(字段有:宿舍号,人数,负责人,类型)
在一个窗体里,有一个下拉框(可以选择宿舍类型)和一个dataGridView控件。
我想在选择宿舍类型的时候把该类型的所有宿舍信息加载到dataGridView控件里
其代码如下。         SqlConnection   sqlcon = new SqlConnection("server=localhost;database=shuidian_system;integrated security=sspi");
         SqlDataAdapter   sqlda = new SqlDataAdapter("select * from sushexinxi",sqlcon);
       DataSet     ds = new DataSet();
            sqlda.Fill(ds, "sushexinxi");
            sqlda.SelectCommand.CommandText = "select 类型 from sushexinxi group by 类型";
            sqlda.Fill(ds,"type");
            DataColumn parentCol = new DataColumn();
            DataColumn childCol = new DataColumn();
            parentCol =ds.Tables["sushexinxi"].Columns["类型"];
            childCol =ds.Tables["type"].Columns["类型"];
            DataRelation rel = new DataRelation("类型关联", childCol, parentCol);
            ds.Relations.Add(rel);
            comboBox1.DataSource = ds;
            comboBox1.DisplayMember = "type.类型";
            dataGridView1.DataSource = ds.Relations["类型关联"].DataSet;
为什么无论我怎么选,其dataGridView1控件都是没内容呢?

解决方案 »

  1.   

    以下语句应该写到 dropdownlist的 SelectedIndexChanged 事件里! 不然你改边了选项也不会触发事件!sqlda.SelectCommand.CommandText = "select 类型 from sushexinxi group by 类型";
                sqlda.Fill(ds,"type");
                DataColumn parentCol = new DataColumn();
                DataColumn childCol = new DataColumn();
                parentCol =ds.Tables["sushexinxi"].Columns["类型"];
                childCol =ds.Tables["type"].Columns["类型"];
                DataRelation rel = new DataRelation("类型关联", childCol, parentCol);
                ds.Relations.Add(rel);
                comboBox1.DataSource = ds;
                comboBox1.DisplayMember = "type.类型";
                dataGridView1.DataSource = ds.Relations["类型关联"].DataSet;