Динамическое создание столбцов в gridview asp.net - PullRequest
0 голосов
/ 21 июля 2011

Я делаю проект по отелям.На этой странице бронирования все типы номеров и их доступность, а также их цены должны указываться в сетке для указанных дат.

Ниже приведены типы номеров на странице администратора отеля.

enter image description here

изображение ниже - обязательные тарифы на номер на указанную дату.enter image description here

В настоящее время я связываю данные, используя sql-запрос для каждой ячейки. Поэтому загрузка страницы занимает много времени.

Мне нужна помощь, чтобы найти более быстрый способ привязкиdata.

код, который я использую, приведен ниже.

dim DTX AS new datatable

/// sql команда для загрузки типов комнат.

While DR.Read
DTR = DTX.NewRow()
Dim datearray() As String = lbl_CheckInDate.Text.Split("/")
Dim XDT1 As New Date(CInt(datearray(2)), CInt(datearray(0)), CInt(datearray(1)))
DTR("Room Type") = DR("r_type").ToString
DTR("Book") = DR("r_id").ToString
     For x = 1 To 15
    tmpdt = Left(WeekdayName(Weekday(XDT1)), 3) & vbNewLine & Day(XDT1) & " " & Left(MonthName(Month(XDT1)), 3)
     price = Cls_function.GetTableData("select isnull(rent_a,0) as rent_a from tbl_HotelRoom where H_ID = " & Val(Request.QueryString("HID")) & " and r_id = " & Val(DR("r_id").ToString) & " and f_dt <= '" & Year(XDT1) & "-" & Month(XDT1) & "-" & Day(XDT1) & "' and t_dt >= '" & Year(XDT1) & "-" & Month(XDT1) & "-" & Day(XDT1) & "'")

If price = Nothing Then
        DTR(tmpdt) = Cls_function.GetTableData("select isnull(rent_a,0) as rent_a from tbl_HotelRoom where H_ID = " & Val(Request.QueryString("HID")) & " and r_id = " & Val(DR("r_id").ToString) & " and f_dt <= '" & Year(XDT1) & "-" & Month(XDT1) & "-" & Day(XDT1) & "' and t_dt >= '" & Year(XDT1) & "-" & Month(XDT1) & "-" & Day(XDT1) & "'")

Else
   DTR(tmpdt) = Format(price, "N")
End If
 XDT1 = DateAdd(DateInterval.Day, 1, XDT1)
Next
DTX.Rows.Add(DTR)

1 Ответ

0 голосов
/ 21 июля 2011

Хотя не совсем ясно, я собираюсь догадаться, что вы вызываете базу данных для каждой из дат, чтобы получить стоимость номера.Лучшим подходом было бы написать хранимую процедуру для возврата стоимости номера для следующих X дат для данного типа номера.Если ваш sproc возвращает данные в виде нескольких строк (а не одной строки со многими столбцами, как было бы сложнее в SQL), то вы могли бы выполнить некоторые манипуляции с бизнес-логикой, чтобы получить данные в формате, который вам необходим, чтобы легко связать их с сеткой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...