DropdownList.selectedIndex всегда 0 (да, я действительно имею! isPostBack)

Удобочитаемость

OP, ваш код может быть реструктурирован, как показано ниже. Я также использовал некоторые переменные сокращения, чтобы сделать вещи проще. Ваши имена переменных в идеале должны быть краткими (легко читаемыми и короткими для ввода). Читаемость имеет большое значение для устранения неполадок.

Дайте мне знать, как только вы увидите это, чтобы я мог удалить

Sub PNum()

Dim ws47 As Worksheet: Set ws47 = ThisWorkbook.Sheets("IW47")
Dim ws38 As Worksheet: Set ws38 = ThisWorkbook.Sheets("IW38")

Dim Arr As Range: Set Arr = ws38.Range("A:K")

Dim LR As Long, MyCell As Range, Priority As String

LR = ws47.Range("E" & ws47.Rows.Count).End(xlUp).Row

For Each MyCell In ws47.Range("R2:R" & LR)
    If IsEmpty(MyCell.Offset(-13)) Then Exit Sub

    On Error Resume Next
        Priority = WorksheetFunction.VLookup(MyCell.Offset(, -13), Arr, 11, 0)

        If Err = 0 Then
            MyCell = Priority
        Else
            Err.Clear
        End If
    On Error GoTo 0

Next MyCell

End Sub
5
задан Patrick McDonald 10 August 2009 в 12:56
поделиться

3 ответа

Когда DataList с привязкой к данным, AutoPostBack еще не был обработан, т.е. значения в событии ItemCreated являются все еще исходными значениями.

Необходимо обработать событие SelectedIndexChange выпадающего управления.

9
ответ дан 14 December 2019 в 01:20
поделиться

Относительно Вашего 2-го вопроса:

Я предлагаю, чтобы Вы удалили AutoPostBack из выпадающего, добавили кнопку "Update" и обновили данные в событии нажатия кнопки.

Кнопка может содержать значения Команды и CommandArgument, таким образом, легко связаться с записью базы данных.

0
ответ дан 14 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: