Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
В listbox сыпятся значения из базы данных. Затем из БД выбираются значения сопоставленные пользователю. Нужно в листбоксе отметить значения для пользователя. Спасибо. Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim cnt As New SqlConnection(...) Dim cmdt As New SqlCommand("SELECT IDFilial, Name FROM vFilials_All ORDER BY Name", cnt) Dim drt As SqlDataReader Try cnt.Open() lsbFilial.DataSource() = cmdt.ExecuteReader lsbFilial.DataTextField() = "Name" lsbFilial.DataValueField = "IDFilial" lsbFilial.DataBind() Catch ex As SqlException ... Catch ex As Exception ... Finally cnt.Close() End Try Dim cnf As New SqlConnection(...) Dim cmdf As New SqlCommand("SELECT IDFilial, fname FROM vUser2Filial WHERE IDUSER =" + uid, cnf) Dim drf As SqlDataReader Try cnf.Open() drf = cmdf.ExecuteReader lsbFilial.SelectedIndex = lsbFilial.Items.IndexOf(lsbFilial.Items.FindByValue(Server.HtmlEncode(drf.Item("IDFilial").ToString))) Catch ex As SqlException ... Catch ex As Exception .... Finally cnf.Close() End Try End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 16:55 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
Вот такую ошибку дает Ошибка просмотра страницы. Invalid attempt to read when no data is present. Я так понимаю, что данных в листбоксе еще нет. А как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 16:56 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
Если так делаю, то отмечается только последняя строка lsbFilial.DataSource() = cmdt.ExecuteReader lsbFilial.DataTextField() = "Name" lsbFilial.DataValueField = "IDFilial" lsbFilial.DataBind() lsbFilial.SelectedValue = "14" lsbFilial.SelectedValue = "35" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:38 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
авторНужно в листбоксе отметить значения для пользователя. Если это то, о чём я думаю - то: 1. Exception Details: System.Web.HttpException: A ListBox cannot have multiple items selected when the SelectionMode is Single. Лечиться - ListBox1.Properties.SelectionMode=Multiple 2. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 18:33 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
Да, так работает. А почему мой вариант не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 18:41 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
А как к нужному виду преобразовать. Вот так у меня сейчас. 'lsbFilial.DataSource() = cmdf.ExecuteReader 'lsbFilial.DataTextField() = "fname" 'lsbFilial.DataValueField = "IDFilial" 'lsbFilial.DataBind() 'lsbFilial.Items.Item(0).Selected = True 'lsbFilial.Items.Item(2).Selected = True ' While drf.Read 'lsbFilial.SelectedIndex = lsbFilial.Items.IndexOf(lsbFilial.Items.FindByValue(Server.HtmlEncode(drf.Item("IDFilial").ToString))) 'End While ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 18:46 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
Вот так работает, но самая первая строка не отмечается и не работает, если всего одну строчку надо выделить While drf.Read isel = lsbFilial.Items.IndexOf(lsbFilial.Items.FindByValue(Server.HtmlEncode(drf.Item("IDFilial")))) lsbFilial.Items.Item(isel).Selected = True 'lsbFilial.SelectedIndex = lsbFilial.Items.IndexOf(lsbFilial.Items.FindByValue(Server.HtmlEncode(drf.Item("IDFilial").ToString))) End While ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 18:55 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. значит что-то у тебя не так продумано или недоделано... P.S. кстати, зачем тебе вообще - lsbFilial.SelectedIndex ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 19:13 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
vladgrig Код: plaintext 1. 2. 3. значит что-то у тебя не так продумано или недоделано... P.S. кстати, зачем тебе вообще - lsbFilial.SelectedIndex ? Это в форме редактирования пользователя. Редактору показываются данные пользователя в элементах формы и плюс листбоксе отмечаются филиалы (в листбокс сначала загружаются все филиалы) доступные данному пользователю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 08:39 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
Как мудро... Твой последний пост был и так понятен по смыслу предыдущих. Просто, как правило, lsbFilial.SelectedIndex используется, что в Win, что в Web для определения значения (в данном случае для отправки на сервер выбранного пользователем значения в ListBox1). Вот я и спросил - для чего ты его прописываешь с самого начала? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 08:51 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
МартВот так работает, но самая первая строка не отмечается и не работает, если всего одну строчку надо выделить While drf.Read isel = lsbFilial.Items.IndexOf(lsbFilial.Items.FindByValue(Server.HtmlEncode(drf.Item("IDFilial")))) lsbFilial.Items.Item(isel).Selected = True 'lsbFilial.SelectedIndex = lsbFilial.Items.IndexOf(lsbFilial.Items.FindByValue(Server.HtmlEncode(drf.Item("IDFilial").ToString))) End While Так работает на самом деле, ранее по недосмотру неточность была. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 08:56 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
vladgrigКак мудро... Твой последний пост был и так понятен по смыслу предыдущих. Просто, как правило, lsbFilial.SelectedIndex используется, что в Win, что в Web для определения значения (в данном случае для отправки на сервер выбранного пользователем значения в ListBox1). Вот я и спросил - для чего ты его прописываешь с самого начала? Это ведь форма редактирования. Т.е. чтобы редактору показать какие филиалы сопоставлены пользователю. Далее он в листбоксе может убрать или добавить филиалы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 09:01 |
|
||
|
Отметить значения в ListBox
|
|||
|---|---|---|---|
|
#18+
если всё работает - то хорошо... просто когда в коде выбираешь функцию - наш "advanced notpad" (VS.Net 2003 ;) подсказывает, что lsbFilial.SelectedIndex - "Gets or Sets the lowest ordinal index of the selected items in list". Думай сам, как это вяжеться с мультиселектом ;) P.S. Так на всякий случай, вот что мне пришло в голову относительно твоей задачи: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 10:02 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33197669&tid=1393766]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 329ms |

| 0 / 0 |
