Использовать список для заполнения ярлыков C #

Я создаю приложение устройства в VS 2005.

Я создал список с именем «информация» и хочу заполнить метки в моей форме значениями из списка. Это мой код:

public List info = new List();
int i = 0;


private void populateinfo()
    {
        conn.Open();
        string query;
        query = "select distinct dp.current_location_code,dci.dest_location_code,dps.order_no,dps.company_id_no,dps.no_of_full_cartons,dps.dc_grv_id_no,s.sku_code from dc_pallet_stock dps, dc_pallet dp,sku s , purch_order_carton_sku pocs , dc_crane_instruc dci where dp.pallet_id_no = dps.pallet_id_no and dps.order_no = pocs.order_no and dps.company_id_no = pocs.company_id_no and dps.carton_code = pocs.carton_code and s.sku_id_no = pocs.sku_id_no and s.company_id_no = dps.company_id_no and dp.pallet_id_no = '" + palletId + "' and dci.pallet_id_no(+) = dps.pallet_id_no";
        OracleCommand cmd = new OracleCommand(query, conn);
        OracleDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            this.info.Add(dr["order_no"].ToString());
        }
        dr.Close();
        conn.Close();
    }

private void frmInfo_Load(object sender, EventArgs e)
    {
        populateinfo();
        lbl3.Text = this.info[++i];
    {

Im получает ошибку в lbl3.Text = this.info [++ i];

Указанный аргумент был вне диапазона допустимых значений. Имя параметра: индекс.

Это то, как я тестирую его на данный момент, но в конце я хочу, чтобы все столбцы в моем запросе отображались в отдельных ярлыках, как бы я это сделал. Или есть лучший способ сделать это? Gridview - это не вариант.

Заранее спасибо.

0
nl ja de
Вы даже заполняете массив info ? Вы не в коде, который вы нам показываете. Вот почему вы получаете исключение вне диапазона.
добавлено автор hetelek, источник
@hetelek Это была только опечатка. Я исправил это. Все еще получая ту же ошибку
добавлено автор Werner van den Heever, источник

3 ответы

попробуйте использовать вот так.

...
    while (dr.Read())
     {
            lbl3.Text += dr["order_no"].ToString() + "\n";
     }
...
0
добавлено

То, что я, вероятно, сделаю, создало бы либо массив ваших ярлыков, либо список ваших ярлыков, проходящих через него. Вот пример, динамически создающий ваши метки и добавление их в вашу форму.

public List info = new List();
public List

И метод добавления существующих ярлыков в список

public List info = new List();
public List
0
добавлено

palletId в моем запросе выбора был некорректным. См. Конструктор:

public List info = new List();
int i = 0;

public frmInfo(string palletId)
    {
        InitializeComponent();
        this.palletId = palletId;
    }

private void populateinfo()
{
    conn.Open();
    string query;
    query = "select distinct dp.current_location_code,dci.dest_location_code,dps.order_no,dps.company_id_no,dps.no_of_full_cartons,dps.dc_grv_id_no,s.sku_code from dc_pallet_stock dps, dc_pallet dp,sku s , purch_order_carton_sku pocs , dc_crane_instruc dci where dp.pallet_id_no = dps.pallet_id_no and dps.order_no = pocs.order_no and dps.company_id_no = pocs.company_id_no and dps.carton_code = pocs.carton_code and s.sku_id_no = pocs.sku_id_no and s.company_id_no = dps.company_id_no and dp.pallet_id_no = '" + palletId + "' and dci.pallet_id_no(+) = dps.pallet_id_no";
    OracleCommand cmd = new OracleCommand(query, conn);
    OracleDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        this.info.Add(dr["order_no"].ToString());
    }
    dr.Close();
    conn.Close();
}

private void frmInfo_Load(object sender, EventArgs e)
{
    populateinfo();
    lbl3.Text = this.info[++i];
{
0
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Про Windows
Про Windows
941 участник(ов)

Microsoft Windows и всё, что с этим связано. Список интересных групп и каналов: https://github.com/goq/telegram-list

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot