Как объявить источник данных в VB.NET? - PullRequest
0 голосов
/ 22 июня 2011

Я написал файл ASPX в VB.NET. Первоначально этот файл был успешно выполнен, но после добавления одного дополнительного параметра он завершается с ошибкой «Имя peType не объявлено».

Эта ошибка не имеет смысла для меня, потому что у меня есть аналогичный параметр, 'dType', в котором он не ошибается. В чем причина этой ошибки?

Вот некоторые из моих файлов кода ASPX:

    Sub Page_Load(Sender as Object, E as EventArgs)
        If Not IsPostback Then 

            Dim TheMonthDate As Date = DateAdd(DateInterval.Month, -1, Today)
            calStartDate.SelectedDate = CDate((TheMonthDate.Month) & "/1/" & Year(TheMonthDate)).ToString("MM/dd/yyyy")
            calEndDate.SelectedDate = GlobalFunctions.GlobalF.MonthLastDate(CDate((TheMonthDate.Month) & "/1/" & Year(TheMonthDate)).ToString("MM/dd/yyyy"))

            Dim arrType as New ArrayList()
            Dim arrOrgUnit as New ArrayList()
            Dim arrPEType as New ArrayList()
            Dim peType As ListBox

            arrType.Add("Product and Process")
            arrType.Add("Product")              
             arrType.Add("Process")                         
            dType.DataSource = arrType
            dType.DataBind()

            arrPEType.Add("-INC")
            arrPEType.Add("-NC")
            arrPEType.Add("-QC")
            peType.DataSource = arrPEType
            'peType.DataTextField = "DisplayColumnName"
            'peType.DataValueField = "ValueColumnName"
            peType.DataBind()
...
            Dim TheType as String
            Dim TheOrgUnit as String
            Dim PE_Type as String

            Select Case dType.SelectedValue
                Case "Product and Process": 
                    TheType = "((SMARTSOLVE.V_QXP_ALL_EXCEPTION.QXP_BASE_EXCEPTION)='PXP_PRODUCT_QXP' Or (SMARTSOLVE.V_QXP_ALL_EXCEPTION.QXP_BASE_EXCEPTION)='PXP_PROCESS_QXP')"
                Case "Product": 
                    TheType = "((SMARTSOLVE.V_QXP_ALL_EXCEPTION.QXP_BASE_EXCEPTION)='PXP_PRODUCT_QXP')"
                Case "Process": 
                    TheType = "((SMARTSOLVE.V_QXP_ALL_EXCEPTION.QXP_BASE_EXCEPTION)='PXP_PROCESS_QXP')"
            End Select

            Select Case peType.SelectedValue
                Case "INC": 
                    PE_Type = "substring(a.QXP_EXCEPTION_NO, charindex('-', a.QXP_EXCEPTION_NO)+1, 4)='INC'"
                Case "NC": 
                    PE_Type = "substring(a.QXP_EXCEPTION_NO, charindex('-', a.QXP_EXCEPTION_NO)+1, 4)='NC'"
                Case "QC": 
                    PE_Type = "substring(a.QXP_EXCEPTION_NO, charindex('-', a.QXP_EXCEPTION_NO)+1, 4)='QC'"
            End Select
...
                    <td>
                        Product Exception Type:
                    </td>
                    <td>
                        <ASP:DROPDOWNLIST ID="peType" RUNAT="Server" AUTOPOSTBACK="true" />
                    </td>

Но теперь моя ошибка: Ссылка на объект не установлена ​​для экземпляра объекта

1 Ответ

0 голосов
/ 22 июня 2011

Вы пропустили установку свойств DataTextField и DataValueField, когда пытались привязать DataSource к Dropdownlist, поэтому установите следующее:

peType.DataSource = arrPEType
peType.DataTextField = "DisplayColumnName"
peType.DataValueField = "ValueColumnName"
peType.DataBind()
...