Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: опять вопрос по ListView Добавлено: 24.11.10 12:09  

Автор вопроса:  Mc.WOLF
Скажите пожалуйста как реализовать следующее:
1. Есть ListView в нём 3, 5... (неважно сколько столбиков) как мне вывести в ComboBox значения одного из столбиков без повторений, тоисть в столбике есть значения 345 и оно повторяется, но чтоб эти повторения не отображались в ListView
2. Как в ListView найти в столбике максимальное значение и вывести его в textbox (например: есть значения "kv001", "kv031", "kv052", "kv020" нужно найти максимальное значение и вывести его в textbox в этом случаи это "kv052")

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #1 Добавлено: 24.11.10 14:01
Как обычно, все эти ваши элементарные задачки расщелкиваются на раз-два дотнетом ;)

1.
  1. ComboBox1.Items.AddRange(From nItem In ListView1.Items, nSubItem In nItem.SubItems Select nSubItem.Text Distinct).ToArray


2.
  1. TextBox1.Text = (From nItem In ListView1.Items, nSubItem In nItem.SubItems _
  2.                  Let S = nSubItem.Text _
  3.                  Select S _
  4.                  Order By Convert.ToInt32(New String(S.Where(Function (T) T > "0"c And T < "9"c).ToArray))).First

Ответить

Номер ответа: 2
Автор ответа:
 Mc.WOLF



Вопросов: 26
Ответов: 84
 Профиль | | #2 Добавлено: 24.11.10 14:14
Огромное спасибо за помощь но я не программирую на дотнете, а на VB6 нет примера?

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 24.11.10 14:35
есть, но не хватит монитора чтобы его весь охватить 1м взглядом. Оно тебе надо? ..

Ответить

Номер ответа: 4
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #4 Добавлено: 24.11.10 14:51
1.
  1. Private Sub FillImageCB(lv As ListView, iCol As Long, icb As ImageCombo)
  2.     Dim lItem As ListItem
  3.     On Error Resume Next
  4.     
  5.     For Each lItem In lv.ListItems
  6.         icb.ComboItems.Add , lItem.SubItems(iCol), lItem.SubItems(iCol)
  7.     Next lItem
  8. End Sub

2.
  1. Private Function GetTextMax(lv As ListView, iCol As Long) As String
  2.     Dim lItem As ListItem
  3.     On Error Resume Next
  4.     
  5.     GetTextMax = ""
  6.     For Each lItem In lv.ListItems
  7.         If lItem.SubItems(iCol) > GetTextMax Then GetTextMax = lItem.SubItems(iCol)
  8.     Next lItem
  9. End Function

Пример вызова
  1. Private Sub Form_Load()
  2. ListView1.View = lvwReport
  3. ListView1.ColumnHeaders.Add , "col1"
  4. ListView1.ColumnHeaders.Add , "col2"
  5. Dim lItem As ListItem, i As Long
  6. For i = 1 To 10
  7.     Set lItem = ListView1.ListItems.Add(, "item" & i, "item text " & i)
  8.     lItem.SubItems(1) = "col 2 text " & (i \ 4)
  9. Next i
  10. FillImageCB ListView1, 1, ImageCombo1
  11. Text1.Text = GetTextMax(ListView1, 1)
  12. End Sub

Использован ListView, ImageComboBox (ComboBox с картинками из той же библиотеки что и ListView), TextBox.
Обработка ошибок отсутствует, оптимизация приветствуется :)

Ответить

Номер ответа: 5
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #5 Добавлено: 24.11.10 15:57
LamerOnLine пишет:
lItem.SubItems(iCol) > GetTextMax

Это те вычислит максимальный элемент при элементах типа "kv001", "kv002", "element01_002", "lol_8_strok_i_to_s_kiosyakom001" и т.п.

Ответить

Номер ответа: 6
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #6 Добавлено: 24.11.10 16:03
Это для приведенного в вопросе сценария ("kv001", "kv031", "kv052", "kv020";)
Определение максимального составного стрингового элемента не имеет смысла в общем виде, для конкретного контекста "> GetTextMax" будет свой. Разжевывать и расписывать я тут ничего не собираюсь.

Ответить

Номер ответа: 7
Автор ответа:
 Mc.WOLF



Вопросов: 26
Ответов: 84
 Профиль | | #7 Добавлено: 24.11.10 16:07
ОГРОМНЕЙШИЕ СПАСИБО!!!!!! ВСЕМ ЗА ПОМОЩЬ!!!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам