Проблема с флажками в GridView - PullRequest
0 голосов
/ 26 февраля 2012

У меня проблема с gridview и флажками в asp.net. Я привязываю сетку при загрузке страницы и добавляю атрибуты к флажку в функции BindGrid ():

chkSelection.Attributes.Add("onclick", "AbortPostBack(); __doPostBack('" + chkSelection.UniqueID + "','');")
AddHandler chkSelection.CheckedChanged, AddressOf ChkSelector_CheckedChanged

На странице 1 я выбираю несколько строк. Я перехожу на страницу 2, выбираю другую строку. Как только я это сделаю, вся сетка просто исчезнет!

При отладке я обнаружил, что grdSelect.Rows равен 0 в функции ReadGrid () ниже:

in Page_Load

If Not Page.IsPostBack Then
    BuildData()
    BindGrid()
    RenumberPager()
    Dim ctlControl As UserControl = PageUtility.SearchControl(Page.Master, "ctlLeadsCount")
    CType(ctlControl, leadscount).Count = m_SelectedRecords.Count
Else            
    ReadGrid()
End If

in ReadGrid

For Each row As GridViewRow In grdSelect.Rows
    Dim chkSelection As CheckBox = CType(row.FindControl("ChkSelector"), CheckBox)
    If Not chkSelection Is Nothing Then
        Dim recNumK As DataKey = CType(grdSelect.DataKeys(row.RowIndex), DataKey)
        Dim recNum As String = recNumK.Value.ToString()
        m_SelectedRecords.Remove(recNum)

        If chkSelection.Checked = True Then
            For Each rec As Record In m_data
                If rec(BusinessFieldNames.UniqueId) = recNum Then
                    m_SelectedRecords(recNum) = rec(BusinessFieldNames.UniqueId)
                    Exit For
                End If
            Next
        End If
    End If
Next

ViewState("Cherry") = m_SelectedRecords

Любые предложения / указатели будут очень признательны.

1 Ответ

0 голосов
/ 26 февраля 2012

Вы должны повторно связать свои данные в событии gridView_PageIndexChanging. Также перед привязкой вы должны установить свойство Page index вашего gridview следующим образом:

        Protected Sub grdSelect_PageIndexChanging(...) Handles grdSelect.PageIndexChanging
  grdSelect.PageIndex = e.NewPageIndex
  BuildData()
  BindGrid()
end sub

Надеюсь, это поможет.

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