2017-02-07 9 views
1

[Generate]ボタンをクリックすると、特定のデータとレコードを表示するGridViewがあります。GridViewがページングインデックスのデータを表示しないのはなぜですか?

GridView Showing Records

私の問題は、私はGridViewのリストGridViewのが失われるの次のページのためにクリックしたときに、私はデータがあまりにも失われますとは思わない、私はGirdViewだけでないと思いますということですそれを示す。

Index Changed

あなたはこの問題で私を助けてください。私はこのウェブサイトを最初に作成した人ではなく、私がこの問題について知っていることをすべて試してみました。私は運がないインターネットでも解決策を探しました。ですから、次のページをクリックした後にGridViewが表示されない理由を誰かに教えてください。

ここPage_Load

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    userid = IIf(SessionHandler.UserID = "", User.Identity.Name.ToUpper, SessionHandler.UserID) 

    V3Substance.Attributes.Add("onfocus", "javascript:if (this.value=='Substance Cas Number') { this.value = ''; }") 
    V3Substance.Attributes.Add("onblur", "javascript:if (this.value=='') { this.value = 'Substance Cas Number'; }") 

    If Not Page.IsPostBack Then 
     V1Division.DataSource = GetDivision() 
     V1Division.DataBind() 

     V1BR.Items.Clear() 
     V1BR.DataSource = GetBusinessRule(V1Division.Text) 
     V1BR.DataBind() 

     MultiView1.ActiveViewIndex = 0 
     Panel1.DefaultButton = "V1Generate" 
    End If 
End Sub 

のコードはここGridView1_PageIndexChanging

Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging 
    Dim dt As DataTable = TryCast(GridView1.DataSource, DataTable) 
    GridView1.DataSource = SortTable(dt) 

    GridView1.PageIndex = e.NewPageIndex 
    GridView1.DataBind() 
End Sub 

のコードはここで私はまた、Page_Loadの中にこのコードを入れてみましたBindGridView

Private Sub BindGridview(ByVal query As String, ByVal countquery As String) 
    ViewState.Add("Query", query) 
    ViewState.Add("CountQuery", countquery) 

    Dim count As Integer = 0 

    If Description.Text = "1" Then 
     ValidateFamily(query) 
    Else 
     DataSource = dbHelper.GetRecordDT(query) 
    End If 

    count = DataSource.Rows.Count 

    'GridView1.DataSource = Nothing 
    'GridView1.DataBind() 
    'GridView1.PageIndex = 0 

    GridView1.DataSource = DataSource 
    GridView1.Visible = True 
    GridView1.DataBind() 

    ExportToExcel.Visible = IIf(count < 1, False, True) 
    Panel1.Visible = IIf(count < 1, False, True) 
    SetTotalResult(count) 
End Sub 

ためのコードだいています

If ViewState.Item("Query") <> Nothing Then 
    BindGridview(ViewState.Item("Query"), ViewState.Item("CountQuery")) 
End If 

しかし、結果も問題である私は、次のページをクリックすると、それはGridViewのデータリストを示していますが、[生成]ボタンをクリックしたときに、それはこの

Generate1

またはこのような

ようなものです

Generate2

これを手伝ってください。どうもありがとうございます。私はその後、私はGridView1_PageIndexChangingGridView1.Visible = Trueを入れて、私は次のページをクリックしたとき、それはレコードが、それはフェッチだけしても見つかり示しをPage_Load

If ViewState.Item("Query") <> Nothing Then 
    BindGridview(ViewState.Item("Query"), ViewState.Item("CountQuery")) 
End If 

にこのコードを

オーケー

UPDATEを置きますデータは既にあります。

答えて

1

私はこのことを今しばらくしてきましたが、ありがたいことに私はすでにそれをやりました。 私にはまったく役に立たなかった多くの異なるアプローチと解決策がありましたが、感謝していますが、これは現在正しくありません。

Page_Load

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
      userid = IIf(SessionHandler.UserID = "", User.Identity.Name.ToUpper, SessionHandler.UserID) 

      V3Substance.Attributes.Add("onfocus", "javascript:if (this.value=='Substance Cas Number') { this.value = ''; }") 
      V3Substance.Attributes.Add("onblur", "javascript:if (this.value=='') { this.value = 'Substance Cas Number'; }") 

      If Not Page.IsPostBack Then 
       V1Division.DataSource = GetDivision() 
       V1Division.DataBind() 

       V1BR.Items.Clear() 
       V1BR.DataSource = GetBusinessRule(V1Division.Text) 
       V1BR.DataBind() 

       MultiView1.ActiveViewIndex = 0 
       Panel1.DefaultButton = "V1Generate" 

       If ViewState.Item("Query") <> Nothing Then 
        BindGridview(ViewState.Item("Query"), ViewState.Item("CountQuery")) 
       End If 
      End If 
End Sub 

コードのコードGridView1_PageIndexChanging

Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging 
      Dim dt As DataTable = TryCast(GridView1.DataSource, DataTable) 
      GridView1.DataSource = SortTable(dt) 

      GridView1.PageIndex = e.NewPageIndex 
      'GridView1.DataBind() 
      If ViewState.Item("Query") <> Nothing Then 
       BindGridview(ViewState.Item("Query"), ViewState.Item("CountQuery")) 
      End If 
End Sub 

のための私は、表示するためのDropDownListにし、PageIndexChangingに再び選択するときに、レコードを示すためIf Not Page.IsPOstBack

If ViewState.Item("Query") <> Nothing Then 
        BindGridview(ViewState.Item("Query"), ViewState.Item("CountQuery")) 
       End If 

を追加いつ記録する次のページをクリックします。

関連する問題