Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 3
Регистрация: 02.11.2013
Сообщений: 54
1
MS Access

Заполнение ListView из БД

26.07.2017, 22:11. Показов 897. Ответов 1
Метки нет (Все метки)

Добрый день!

Прошу помощи у тех кто владеет Delfi
Нужно код на дельфи переписать на c++ builder (XE8)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
with IBQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM VLADEL');
    Open;
    ListView1.Columns.Add.Caption:= 'Фамилия';
    ListView1.Columns.Add.Caption:= 'Имя';
    ListView1.Columns.Add.Caption:= 'Отчество';
    ListView1.Columns.Add.Caption:= 'Адрес';
    ListView1.Columns.Add.Caption:= 'Телефон';
 while not IBQuery1.Eof
 do begin
    with ListView1.Items.Add
    do begin
      for i := 2 to IBQuery1.Fields.Count - 1
       do begin
         if i = 2
          then Caption := IBQuery1.Fields[i].AsString
          else SubItems.Add(IBQuery1.Fields[i].AsString);
          for j := 0 to ListView1.Columns.Count-1 do
          if Canvas.TextWidth('@' + IBQuery1.Fields[i].AsString + '@') > ListView1.Columns[j].Width
         then ListView1.Columns[j].Width := Canvas.TextWidth('@' + IBQuery1.Fields[i].AsString + '@');
          end;
       end;
         IBQuery1.Next;
 
    end;
     end;
PS Заполнение ListView из базы Access.
Спасибо

Добавлено через 8 часов 10 минут
Кое что переписал но до конца не пойму как цикл переписать. Помогите битте!


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
qTest->Close();
    qTest->SQL->Clear() ;
    qTest->SQL->Add("SELECT * FROM HomF_std_M");
    qTest->Open;
    ListView1->Columns->Add->Caption = "Фамилия";
    ListView1->Columns->Add->Caption = "Имя";
    ListView1->Columns->Add->Caption = "Отчество";
 
       while(!qTest->Eof)
       {//ListView1->Columns->Add....
 
       //...... цикл не могу подправить
 
 
 
 
 
        if(ListView1->Canvas->TextWidth('@' + qTest->Fields[i]->AsString  + '@') > ListView1->Columns[j].Width)
           {
             ListView1->Columns[j]->Width = ListView1->Canvas->TextWidth('@' + qTest->Fields[i]->AsString + '@');
 
           }
 
 
        qTest->Next();
        }
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.07.2017, 22:11
Ответы с готовыми решениями:

Заполнение ListView
Подскажите, как заполнять ListView. Я пробую заполнить так: ListView->AddItem("Текст",...

Заполнение ListView
Создаю в xaml-разметке чистый ListView. Мне его надо заполнить программно. Причем количество...

Заполнение listview
Доброго дня! Как заполнять такой listview?

Заполнение listview
На форме есть 6 listbox, в каждом заполнены строки. Есть также один listview, в котором 6 колонок....

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31244 / 20423 / 7961
Регистрация: 22.10.2011
Сообщений: 35,453
Записей в блоге: 6
27.07.2017, 14:41 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    qTest->Close();
    qTest->SQL->Clear();
    qTest->SQL->Add("SELECT * FROM VLADEL");
    qTest->Open();
    ListView1->Columns->Add()->Caption = L"Фамилия";
    ListView1->Columns->Add()->Caption = L"Имя";
    ListView1->Columns->Add()->Caption = L"Отчество";
    ListView1->Columns->Add()->Caption = L"Адрес";
    ListView1->Columns->Add()->Caption = L"Телефон";
    while (!qTest->Eof)
    {
        TListItem *li = ListView1->Items->Add();
        for (int i = 2; i < qTest->Fields->Count; i++)
        {
            if (i == 2)
                li->Caption = qTest->Fields->Fields[i]->AsString;
            else
                li->SubItems->Add(qTest->Fields->Fields[i]->AsString);
            for (int j = 0; i < ListView1->Columns->Count; j++)
            {
                if (Canvas->TextWidth("@" + qTest->Fields->Fields[i]->AsString + "@") > ListView1->Columns->Items[j]->Width)
                    ListView1->Columns->Items[j]->Width = Canvas->TextWidth("@" + qTest->Fields->Fields[i]->AsString + "@");
            }
        }
        qTest->Next();
    }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2017, 14:41

Заполнение ListView из БД
Есть одна активити, в ней 2 текстовых поля и кнопка, отправляющая содержимое этих полей как строку...

Заполнение ListView
Привет всем столкнулся с такой проблемой: есть следующий ListView &lt;ListView Height=&quot;313&quot;...

Заполнение listview
Подскажите, как добавить столбцы и заполнить строки, при нажатии кнопки?

Заполнение ListView из БД
Написал вот такой код, но при запуске программы ListView не заполняется а программа выдает ошибку....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.