Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 |

 

  Вопрос: одинаковые значения ListView Добавлено: 18.11.10 12:37  

Автор вопроса:  Mc.WOLF
Как не допустить одинаковые значения в ListView например в первом столбике Есть надпись "Item 1" и больше нельзя чтоб такое значение повторялось

Ответить

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

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #1 Добавлено: 18.11.10 13:12
А для чего, как думаешь, указывается Key при добавлении нового айтема?

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #2 Добавлено: 18.11.10 13:25
Проверяй наличие уже существующего.

Ответить

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #3 Добавлено: 18.11.10 13:41
Еще раз. Если в ListView добавлен элемент с ключом Item1 - добавить второй элемент с тем же самым ключом Item1 не представляется возможным. То есть добавлять ты можешь сколько угодно, но убедись что у тебя определен обработчик ошибок на Err.Number = ccNonUniqueKey.

Ответить

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



Вопросов: 26
Ответов: 84
 Профиль | | #4 Добавлено: 19.11.10 14:55
Еще раз. Если в ListView добавлен элемент с ключом Item1 - добавить второй элемент с тем же самым ключом Item1 не представляется возможным. То есть добавлять ты можешь сколько угодно, но убедись что у тебя определен обработчик ошибок на Err.Number = ccNonUniqueKey.

А как проверить?

Ответить

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



Вопросов: 20
Ответов: 285
 Профиль | | #5 Добавлено: 23.11.10 15:47
Где-то так:

  1. On Error Resume Next
  2.  
  3. ...
  4. вставляем
  5. ...
  6.  
  7. If Err then
  8.  If Err.Number=ccNonUniqueKey Then _
  9.     MsgBox "Такой Есть"
  10. End If

Ответить

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



Вопросов: 26
Ответов: 84
 Профиль | | #6 Добавлено: 24.11.10 13:40
Что-то не выходит вообще

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #7 Добавлено: 24.11.10 14:11
Радуют меян сообщения вида "у меня что-то не получается". Интересно, это так сложно скопировать текст ошибки\кода, который не получается, или у них браузер его автоматически отсекает? :-D

Ответить

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



Вопросов: 26
Ответов: 84
 Профиль | | #8 Добавлено: 24.11.10 14:16
нет вообще не происходить ничего

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #9 Добавлено: 24.11.10 14:34
Варианты, как тебя могут понять люди:
НЕ ПРОИСХОДИТ НИЧЕГО
1. Не запускается студия
2. Не запускается компилятор
3. Не запускается проект
4. Не создается ListView на форме
5. Не добавляются элементы в ListView
6. Не работают мышка и клавиатура
7. Зависла операционная система, считывающие головки жестких дисков, кулеры и лампочки на системном блоке
8. Не отлавливается ошибка криворуким методом "On Error Resume Next"
9. ?????
10. PROFIT.

Ответить

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



Вопросов: 26
Ответов: 84
 Профиль | | #10 Добавлено: 24.11.10 16:46
  1.  
  2. On Error Resume Next
  3.  
  4. ...
  5. вставляем
  6. ...
  7.  
  8. If Err then
  9.  If Err.Number=ccNonUniqueKey Then _
  10.     MsgBox "Такой Есть"
  11. End If



8. Не отлавливается ошибка криворуким методом "On Error Resume Next" :)

Ответить

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



Вопросов: 26
Ответов: 84
 Профиль | | #11 Добавлено: 24.11.10 16:49
  1. Dim i As Integer
  2. i = 1
  3. Do Until i = frmtest.ListView1.ListItems.Count + 1
  4. If frmtest.ListView1.ListItems(i).SubItems(1) = nazvan.Text Then
  5.     MsgBox "Такой номер уже существует", vbExclamation, App.Title
  6.     Exit Sub
  7.     Exit Do
  8. End If
  9. i = i + 1
  10. Loop


побывал так но ничего не получилось

Ответить

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #12 Добавлено: 24.11.10 17:06
  1.  
  2. Private Sub Form_Load()
  3. On Error GoTo Catch_Error
  4.  
  5.     ListView1.ListItems.Add , "item1", "item1"
  6.     ListView1.ListItems.Add , "item1", "item1"
  7.  
  8. Catch_Error:
  9.     If Err.Number = ccNonUniqueKey Then
  10.         'item exists, do nothing
  11.     Else
  12.         Err.Raise Err.Number
  13.     End If
  14. End Sub

Ответить

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #13 Добавлено: 24.11.10 17:08
То же самое работает с On Error Resume Next. При ошибке 0 рейзить её необязательно.

Ответить

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



Вопросов: 26
Ответов: 84
 Профиль | | #14 Добавлено: 24.11.10 17:21
а если вот такая ситуация:

форма добавления редактирования
  1. If EDTR = True Then
  2.  
  3. With Sclad
  4. .Edit
  5.  
  6. .Fields("user") = txtUserID.Text
  7. .Fields("ComplectName") = nazvan.Text
  8. .update
  9. End With
  10.  
  11. Else
  12.  
  13. With Sclad
  14. .AddNew
  15.  
  16. .Fields("user") = txtUserID.Text
  17. .Fields("ComplectName") = nazvan.Text
  18. .update
  19. End With
  20. End If
  21.  
  22. With Sclad
  23. lblNumber.Caption = .RecordCount + 1
  24. End With



форма вывода

  1. Public Sub load000()
  2. On Error GoTo Error
  3. lvvsclad.ListItems.Clear
  4. With Sclad
  5.     .MoveFirst
  6.     Do While Not .EOF
  7.  
  8. Set a = ListView1.ListItems.add(, , .Fields("number"))
  9.  
  10.                 a.SubItems(1) = .Fields("ComplectName")
  11.                 a.SubItems(2) = .Fields("user")
  12.         .MoveNext
  13.     DoEvents
  14.     Loop
  15. End With


как это прикрутить к ".AddNew"

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #15 Добавлено: 24.11.10 17:25
Вот вы... занимаетесь обоюдным самомазахизмoм :-D
писали бы на дотнете, и вся проверка составила бы одну строчку, которую можно хоть по памяти составить ;)
нет же, надо извращаться xD

On Error GoTo Catch_Error
    ...
Catch_Error:
    ...
End Sub

очень подозрительно напоминает мне Try .. Catch .. End Try :-D

Ответить

Страница: 1 | 2 |

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



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