SqlConnection sqlconn = new SqlConnection(mainconn);
string sqlquery = "select * from [dbo].[category]";
SqlCommand sqlComm = new SqlCommand(sqlquery, sqlconn);
sqlconn.Open();
SqlDataAdapter sda = new SqlDataAdapter(sqlComm);
DataTable dt = new DataTable();
sda.Fill(dt);
foreach (DataRow item in dt.Rows)
{
int n = categoryGrid.Rows.Add();
categoryGrid.Rows[n].Cells["categoryId"].Value = item["categoryId"].ToString();
categoryGrid.Rows[n].Cells["CategoryCode"].Value = item["CategoryCode"].ToString();
categoryGrid.Rows[n].Cells["CategoryName"].Value = item["CategoryName"].ToString();
}
for (int i = 0; i < categoryGrid.Rows.Count; i++)
{
int catid = int.Parse(categoryGrid.Rows[i].Cells["CategoryId"].Value.ToString());
var cellSample = new DataGridViewComboBoxCell();
string sqlquery1 = "select subCategoryName from [dbo].[subcategory] where categoryId='"+catid+"'";
SqlCommand sqlComm1 = new SqlCommand(sqlquery1, sqlconn);
SqlDataAdapter sda1 = new SqlDataAdapter(sqlComm1);
DataTable dt1 = new DataTable();
sda1.Fill(dt1);
foreach (DataRow item in dt1.Rows)
{
categoryGrid.Rows.Add(cellSample);
}
}
У меня есть две таблицы в категории и подкатегории базы данных:
category table
cateroyid , code , categoryName
4 cm-003 computer accessories
5 cm-004 routers
subcategory table
subcateroyid , cateroyid , subcategoryNam
1 4 keyboard
2 4 mouse
3 5 tplink
4 5 tenda
categoryid
- внешний ключ
Я хочу показать в сетке categoycode
и categoryname
из первой таблицы и ComboBox любой строки, соответствующей строке в таблице подкатегорий, первая строка ComboBox будет содержать клавиатуру и мышь, а вторая строка tplink
и tenda
.