ListView

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 29.03.2005 (Вт) 16:52

Список моделей столов можно найти на msdn.microsoft.com

Inferno
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 26.01.2005 (Ср) 1:06

Сообщение Inferno » 29.03.2005 (Вт) 22:10

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

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 30.03.2005 (Ср) 9:03

Автору топика, по всему видно, тормозов не избежать по любому :)

OMEGUS
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 31.01.2005 (Пн) 11:40
Откуда: Санкт-Петербург

Сообщение OMEGUS » 30.03.2005 (Ср) 17:14

Лично мне база данных не нужна

Я сам напишу неизменное дерево

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

А по ним потом происходили бы условия.....

sash
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 17.05.2003 (Сб) 3:37

Сообщение sash » 31.03.2005 (Чт) 8:37

2OMEGUS:
Вложения
tvw.rar
(5.06 Кб) Скачиваний: 47

OMEGUS
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 31.01.2005 (Пн) 11:40
Откуда: Санкт-Петербург

Сообщение OMEGUS » 01.04.2005 (Пт) 11:32

2 Sash

Спасибо конечно но нету у меня такокго свойства....

я же не слепой ?!
Вложения
untitled.rar
мой вариант пропертис
(3.4 Кб) Скачиваний: 38

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 01.04.2005 (Пт) 11:51

может найдешь где-то(microsoft.com) обновление для своих контролов

OMEGUS
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 31.01.2005 (Пн) 11:40
Откуда: Санкт-Петербург

Сообщение OMEGUS » 01.04.2005 (Пт) 12:34

Получилось не не все !

Я создал новый проект и подключил все MS Windows Common Contols из списка в Components (из там 6 штук оказалось) и на панель объектов добавилось ДВА TreeView

Первый выглядел как старый а во втором было это свойство Chekboxes и я его успешно протестировал

Но в старом проекте я проставив все эти галочки второй иконки TreeView не нашел...

Беда в том что у меня уже написан довольно большой код программы и я не хотелбы его переписывать заново и заново рисовать все формы..

Что делать ?

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 01.04.2005 (Пт) 13:13

Хм. OMEGUS. А какая версия VB у тебя, а? И какой сервиспак?

OMEGUS
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 31.01.2005 (Пн) 11:40
Откуда: Санкт-Петербург

Сообщение OMEGUS » 01.04.2005 (Пт) 13:54

2 Sedqe

Меч - всего лишь неуклюжее орудие для рубки дров. М.Мусаси

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 01.04.2005 (Пт) 13:58

2 OMEGUS
Однако без заточки он не годится и для этого. Sedge.
Последний раз редактировалось Sedge 01.04.2005 (Пт) 14:40, всего редактировалось 1 раз.

OMEGUS
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 31.01.2005 (Пн) 11:40
Откуда: Санкт-Петербург

Сообщение OMEGUS » 01.04.2005 (Пт) 14:00

ВСЕ ПОЛУЧИЛОСЬ

Как сам не понял... где то снял галочки где то снова поставил все ! заработало!

СПАСИБО ВСЕМ !!!

PS Теперь бы мне пример использования этих галок, но это уже проще.... буду искать примеры ... кто знает где подскажите

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 01.04.2005 (Пт) 15:11

MSDN помогает :D

OMEGUS
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 31.01.2005 (Пн) 11:40
Откуда: Санкт-Петербург

Сообщение OMEGUS » 01.04.2005 (Пт) 15:24

ЭЭЭЭ ... а у меня ее нету..... я при установке не установил иии теперь диски уже далеко... с инета ее можно поставить как то ???

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 01.04.2005 (Пт) 15:27

msdn.microsoft.com

Только оттуда напрямую просто так не поставить. Необходимо иметь Microsoft Internet Explorer BackOffice Extensibility Pack, он позволяет проводить установку компонентов прямо с сайта.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 16.11.2007 (Пт) 11:54

Изучаю добавление информации в ListView. Т.е. выводится окно добавить файл. Выбираешь, добавляешь. Добавленные файлы записываются в txt. При загрузке формы они отображаются в ListView.
Это я вроде освоил. А вот как бы сделать, чтоб в ListView можно было бы удалить ненужные файлы из списка? Например: я загрузил в ListView 5 файлов. И вдруг третий по списку мне не стал нужен. Как его удалить и чтоб небыло в списке пустой строчки.
Прилагаю заготовку.
Вложения
ListView_Добавление информации.zip
ListView_Добавление информации
(5.5 Кб) Скачиваний: 46

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 16.11.2007 (Пт) 14:45

неужели
Код: Выделить всё
ListView1.ListItems.Remove 3
не догадался использовать для удаления третьей записи из списка?

З.Ы. Да еще и нкрофилия просто жуткая...
Весь мир матрица, а мы в нем потоки байтов!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 16.11.2007 (Пт) 17:30

Я этой третьей записью не занимался. Она пустая и бог с ней. Не в этом дело. Это просто заготовка.
Меня интересует удаление ненужной записи.
Или мне бы какой пример, чтоб можно было хранить инфу из ListView1.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 17.11.2007 (Сб) 7:23

Так а я про что? Такой вот методой и удаляй из списка третью запись. Или моя твоя не понимай. Или речь про удаление записи из файла?
Весь мир матрица, а мы в нем потоки байтов!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 17.11.2007 (Сб) 10:21

Viper писал(а):Так а я про что? Такой вот методой и удаляй из списка третью запись. Или моя твоя не понимай. Или речь про удаление записи из файла?

Как тебе объяснить? Может мы наполовину понимаем друг-друга.
Дело вот в чем. Ищу я нужные файлы, вставляю их в Listwiev. Для сохранения данных, они записываются в txt. При загрузке формы они воспроизводятся в Listwiev. Если я удалю запись в середине списка, то надо, чтоб и в txt эта запись тоже удалилась и строчки в txt соеденились с собой ( чтоб небыло пустой строки) иначе в Listwiev при загрузке эта пустая строка будет. Чтоб так тебыло:
Код: Выделить всё
aaaaa
bbbbb

cccccc
ddddd

Может я и дурью маюсь с этим сохранением данных, но у меня другого примера нет, этот то я и так сам слепил. А что-нибудь попроще не бывает? Как еще можно сохранить?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 17.11.2007 (Сб) 11:06

Вот теперь понятно!
Тебе надо переписывать файл с записями.
Вариант 1. После каждого удаления записи в ListView перезаписываешь файл с записями заново. Понятно, что при этом в него записываются лишь существующие записи.
Вариант 2. То же самое, но при закрытии программы.
Вариант 3. После удаления записи перезаписывать файл, наиная со следующей после удаленной записи.

Вот как то так.
Весь мир матрица, а мы в нем потоки байтов!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 17.11.2007 (Сб) 11:22

Viper
Да. Это то, что надо. Действительно перезаписать файл без пустых строчек. И проблемы не будет. Вроде какая то функция есть удалять пробелы. Или это не подойдет? Не скупись, выкладывай пример. :wink:
Код: Выделить всё
aaa        aaa
bbb    =  bbb 
           ccc
ccc

AntonGV
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 24.05.2006 (Ср) 12:10
Откуда: г. Пермь

Сообщение AntonGV » 17.11.2007 (Сб) 15:36

Вроде какая то функция есть удалять пробелы.

Trim
Если долго мучиться, что-нибудь получится

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 18.11.2007 (Вс) 9:21

AntonGV писал(а):
Вроде какая то функция есть удалять пробелы.

Trim

Trim удаляет пробелы в начале и конце строки. А надо между строк.
Тут я конечно загнул. Чем так корячится, не начать ли мне изучение работы с базами данных? Там практически все готово: и записывается и сохраняется и считывается.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 19.11.2007 (Пн) 8:09

s = Replace$(s, " ", "")
и нет больше пробелов
Весь мир матрица, а мы в нем потоки байтов!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 19.11.2007 (Пн) 10:28

Viper писал(а):s = Replace$(s, " ", "")
и нет больше пробелов

Viper :D Спасибо конечно! Вот если б ты примерчик на скорую руку набросал. А то у меня голова тугая.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 19.11.2007 (Пн) 11:01

Эээ.... Примерчик чего? Юзанья Replace или же таки перезаписи файла? Первое постом выше, на второе лениво тратить время, ибо оно есть деньги.
Весь мир матрица, а мы в нем потоки байтов!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 19.11.2007 (Пн) 14:48

Viper писал(а):неужели
Код: Выделить всё
ListView1.ListItems.Remove 3
не догадался использовать для удаления третьей записи из списка?

такой код не подойдет. Мне надо. чтоб куда мышкой ткнешь, то и удалялось. А тут индекс стоит (3). Сделал по другому.
Код: Выделить всё
Private Sub ListView1_Click()
If ListView1.SelectedItem.Checked = True Then
MsgBox "Строка будет удалена"
ListView1.ListItems.Remove (Checked)
End If
End Sub

Пришлось checkboxы для строчек ListView1 поставить. Сейчас нужная строка удаляется. Осталось придумать, как при этом и в txt файле ее удалить. А случайно нельзя вывести данные колонки ListView1 в textbox? Так бы вывел без всяких пустых строчек в textbox и после перезаписал бы в файл. Выводить пробовал, но выводится та строка, которая выделена. А как так, чтоб без выделения, сразу весь список?
Код: Выделить всё
Dim LF As ListItem
   Dim LFS As ListSubItem
   Dim a As ListItem
   Dim Collumn1 As String
   Dim Collumn2 As String
   'Сейчас будем добавлять текст в ListView
   'Добавляем текст в "Меню" из файла Запись.txt и в "Подменю" текст из файла Запись1.txt
   Open App.path & "\Запись.txt" For Input As 1 'Читаем текст из файла Запись.txt
   Open App.path & "\Запись1.txt" For Input As 2 'Читаем текст из файла Запись1.txt
   Do Until EOF(1)
   Input #1, Collumn1
   Input #2, Collumn2
   
    'Заносим инормацию из Collumn1 в LF - это колонка "меню"
    Set LF = ListView1.ListItems.Add(, , Collumn1)
   
    'Заносим инормацию из Collumn2 в LFS - это колонка "подменю"
    Set LFS = LF.ListSubItems.Add(, , Collumn2)

Loop
Close

Вот этот код считывает данные из txt и помещает их в колонки.
Как бы сделать. чтоб записи из колонок помещались в txt?

AntonGV
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 24.05.2006 (Ср) 12:10
Откуда: г. Пермь

Сообщение AntonGV » 19.11.2007 (Пн) 15:45

Мне надо, чтоб куда мышкой ткнешь, то и удалялось

Код: Выделить всё
Private Sub ListView1_Click()
  ListView1.ListItems.Remove ListView1.SelectedItem.Index
End Sub

Как бы сделать. чтоб записи из колонок помещались в txt?

Код: Выделить всё
Private Sub UpdateFile()
  Dim i As Integer, NFile1 As Integer, NFile2 As Integer
  NFile1 = FreeFile
  Open App.path + "\Запись.txt" For Output As #NFile1
  NFile2 = FreeFile
  Open App.path + "\Запись1.txt" For Output As #NFile2
  For i = 1 To ListView1.ListItems.Count
    Print #NFile1, ListView1.ListItems(i).Text
    Print #NFile2, ListView1.ListItems(i).SubItems(1)
  Next i
  Close #NFile1
  Close #NFile2
End Sub


Может лучше хранить данные в одном файле?
Если долго мучиться, что-нибудь получится

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 19.11.2007 (Пн) 16:33

AntonGV
Огромное спасибо! Все получилось! А я целый день корячусь, и так и этак. :D Теперь, вроде, вопрос исчерпан.

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList