سلام.
شما در رویداد load فرم، ابتدا کمبوباکس رو از روی جدول استان پر کنید :
SqlConnection con = new SqlConnection("server = .\\md2008; DataBase = DBAzmoon; Integrated Security = True");
SqlDataAdapter da = new SqlDataAdapter("Select * from TblOstan", con);
DataTable dt = new DataTable();
da.Fill(dt);
CmbOstan.DataSource = dt;
CmbOstan.DisplayMember = "OstanName";
CmbOstan.ValueMember = "OstanID";
حالا در رویداد SelectedIndexChanged مربوط به کمبوباکس استان باید گرید رو پر کنید :
private void CmbOstan_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataAdapter da = new SqlDataAdapter("Select * from TblShahr where OstanID = @ostanid", con);
da.SelectCommand.Parameters.AddWithValue("@ostanid", ((DataRowView)CmbOstan.SelectedItem)["OstanID"] );
DataTable dt = new DataTable();
da.Fill(dt);
GrdShahr.DataSource = dt;
}
توجه 1 : فرض بر این گرفته شده که از sql استفاده می کنید. اگر از access استفاده می کنید به جای sqlconnection باید از oledbconnection و به جای sqldataadapter باید از oledbdataadapter استفاده کنید.
توجه 2 : کانکشن استرینگ و اسم هایی رو که برای جداول و متغیرها استفاده کردم رو با توجه به پروژه و سیستم خودتون تصحیح کنید.
موفق باشید.