C# code

private void RegisterForm_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=root_db;database=users;uid=sa;password=");
SqlDataAdapter da = new SqlDataAdapter("select group_id, group_name from mygroup", con);
DataSet ds = new DataSet();
da.Fill(ds, "group");
DataTable dtGroup = ds.Tables["group"];

comboBox1.DataSource = dtGroup;
comboBox1.DisplayMember = "group_name";
comboBox1.ValueMember = "group_id";
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex > -1)
{
//注意以下两行代码,估计人的错误就在这里
DataRowView drv = (DataRowView)comboBox1.SelectedItem;
string gId = drv.Row["group_id"].ToString();
SqlConnection con = new SqlConnection("server=root_db;database=users;uid=sa;password=");
SqlDataAdapter da = new SqlDataAdapter("select user_id, user_name from myuser where group_id='" + gId + "'", con);
DataSet ds = new DataSet();
da.Fill(ds, "user");
DataTable dtUser = ds.Tables["user"];

comboBox2.DataSource = dtUser;
comboBox2.DisplayMember = "user_name";
comboBox2.ValueMember = "user_id";
}
}





至于设置一项“请选择市”,有两种方法

1、在select里添加

SQL code

select '00' as cid, '请选择市' as cityname union select cid, cityname from yourtable




2、在取出后添加

C# code

DataRow dr = dt.NewRow();
dr["cid"] = "00";
dr["cityname"] = "请选择市";
dt.Rows.InsertAt(dr, 0);
comboBox1.DataSource = dt;