динамически создавать несколько списков - PullRequest
0 голосов
/ 13 декабря 2010

У меня есть таблица в SQL Server, в которой содержится список продуктов (PRODUCT) и категория продуктов (CAT).Прямо сейчас я помещаю все продукты в один и тот же ListBox:

foreach (DataRow row in ds.Tables["ProductsTbl"].Rows)
{
    string str = string.Format("{0}", row["PRODUCT"]);
    ListBox1.Items.Add(new ListItem(str));
}

Но мне нужно создать столько списков, сколько есть категорий, и распределить эти продукты по категориям.Категории могут быть добавлены или удалены, поэтому мне нужно создавать их динамически.

Итак, предположим, что в таблице 5 товаров в категории 1, 4 товара в категории 2 и 7 товаров в категории 3, мне нужно создать 3 списка.,Первый с 5 пунктами, второй с 4 пунктами и последним с 7 пунктами.Есть идеи ?Thx.

Ответы [ 2 ]

1 голос
/ 13 декабря 2010
  1. Заказ ProductsTbl DataSet by categoryId
  2. Добавляйте новый список каждый раз, когда встречаете новый categoryId

Примерно так:

var catId = ds.Tables["ProductsTbl"].Rows[0].categoryId;
var listBox = ListBox1;
foreach (DataRow row in ds.Tables["ProductsTbl"].Rows)
{
    if(catId != row.categoryId)
    {
        catId = row.categoryId;
        listBox = new ListBox();
        Panel1.Controls.Add(listBox);
    } 
    string str = string.Format("{0}", row["PRODUCT"]);
    listBox.Items.Add(new ListItem(str));
}
0 голосов
/ 14 декабря 2010

Вы даже можете создать элемент управления, который позволит вам настроить внешний вид, а затем создать его новый экземпляр, очень похожий на код Джошии.

http://knol.google.com/k/creating-custom-controls-with-c-net#

Выше приведен пример пользовательских элементов управления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...