![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Beowulf 13th |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
Есть список. List: TListView.
В него слямзенной функцией добавляем из нескольких полей текст. Добавляет очень криво. В Item он добавляет сначала пустую строку потом на следующей введенный текст, а в SubItem наоборот. Что делать не понятно О_О Заранее спасибо. Код procedure TForm1.bbAddClick(Sender: TObject); var ListItem : TListItem; begin ListItem := List.Items.Add; List.AddItem(edLastName.Text, pointer(edLastName.Text)); ListItem.SubItems.Add(edName.Text); ListItem.SubItems.Add(edOtch.Text); ListItem.SubItems.Add(edPhone.Text); ListItem.SubItems.Add(edAddress.Text); ListItem.SubItems.Add(cbDate.Text + ' ' + cbMounth.Text + ' ' + edYear.Text); ListItem.SubItems.Add(edNotes.Text); end; |
![]() ![]() |
Beowulf 13th |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
И еще вопрос. Слямзил функцию
Код procedure LV_FindAndSelectItems(lv: TListView; const S: string; column: Integer); var i: Integer; found: Boolean; lvItem: TListItem; begin Assert(Assigned(lv)); Assert((lv.ViewStyle = vsReport) or (column = 0)); Assert(S <> ''); for i := 0 to lv.Items.Count - 1 do begin lvItem := lv.Items[i]; if column = 0 then found := AnsiCompareText(lvItem.Caption, S) = 0 else if column > 0 then begin if lvItem.SubItems.Count >= Column then found := AnsiCompareText(lvItem.SubItems[column - 1], S) = 0 else found := False; end else found := False; if found then begin lv.Selected := lvItem; end; end; end; Она выделяет все найденные соответсвтия. Но! Если использовать ее во второй раз - он добавит новый результ к старому, то есть выделятся строки, найденные за два запроса. Делал так: Код for i := 1 to List.Items.Count - 1 do List.Items.Item[i].Selected := false; он выделение снимает, но все равно скалдывает два результата. Помагает только клик по List: TListView. Как это исправить? |
![]() ![]() |
![]() |
Текстовая версия | 13.07.2025 4:45 |