2 つの db テーブルがあります。1 つはカテゴリのテーブルで、2 つ目はカテゴリ値のテーブルです。
カテゴリごとに、2 番目のテーブルの値を含むドロップダウン リストを作成する必要があります。2 番目のステップは、これらの動的に作成されたドロップダウン リストをフォームビューに似たコンポーネントに配置して、3 番目の db テーブルで満たされた GridView から更新、削除、および SelectedValue を取得することです。
これを行う最善の方法は何ですか?
どのようにデータを取得しているかを知らなければ、正確な答えを出すことは困難ですが、検討できるアプローチは 2 つあります。カテゴリを反復処理する foreach ループ。これにより、そのカテゴリのドロップダウンを作成する関数にカテゴリ ID が渡されます。
foreach category in categories
{
BuildDropDown(category.ID);
}
private void BuildDropDown(int id)
{
var values = GetValuesByCategoryID(id)
foreach value in values
{
ddl.Items.Add(new ListItem(value, value.Id));
}
}
または、他のアプローチは、ページをロードするときにすべてのデータを取得することです。データが 2 つのテーブルにある場合:
SELECT *
FROM tblCategory AS C
INNER JOIN tblCategoryValue AS CV ON CV.FKCategoryID = C.CategoryID
次に、それを呼び出して、CategoryID の追跡を繰り返します。変更されたら、新しいドロップダウンを発行します。