Problem In Datagrid/DataView

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • webaccess
    New Member
    • Jan 2008
    • 1

    #1

    Problem In Datagrid/DataView

    Hi Friends ..!!

    I want to use datagrid/dataview control to data in tablular format,also I want to add paging and format the data of table column.

    Problem is data is coming from API Dom in as XML source. Now to display data i hv use dataset to fetch data.so i m displaying data in datagrid/dataview.

    Now here comes a problem:

    Using Datagrid :

    Paging event is not fired.only the page refreshes and paging is not happening.

    Code:

    <script runat="server">

    Dim objData as New data.DataSet

    Protected Sub gridViewPublish ers_PageIndexCh anging(ByVal sender As Object, ByVal e As GridViewPageEve ntArgs)
    gridViewPublish ers.PageIndex = e.NewPageIndex
    'gridViewPublis hers.Columns(2) .ToString().For mat("dd/MMM/yyyy",)
    gridViewPublish ers.DataBind()
    End Sub
    </script>

    Dim s As String
    Dim i As Integer

    Dim str As String
    Dim storeXml as string
    Dim objAPI As New CAPI
    Dim lXMLDepartureDO M As New MSXML2.DOMDocum ent
    Dim lXMLDeptNodeLis t As MSXML2.IXMLDOMN odeList
    Dim lXMLDeptNode As MSXML2.IXMLDOMN ode
    Dim lXMLTourMedia As MSXML2.IXMLDOMN ode

    str = "<brand>Cos mos</brand><tourCode >" & Request.QuerySt ring("tourcode" ) & "</tourCode><prici ngModel>USA</pricingModel>"
    lXMLDepartureDO M = objAPI.CallAPI( "GetDeparturesX ML", str)
    If (Request.QueryS tring("tourcode ").EndsWith (1)) Then
    lXMLDepartureDO M = objAPI.CallAPI( "GetGSADepartur esXML", str)
    Else
    lXMLDepartureDO M = objAPI.CallAPI( "GetDeparturesX ML", str)
    End If
    lXMLDeptNodeLis t = lXMLDepartureDO M.selectNodes("//Departure")
    Dim storeCount as integer = lXMLDeptNodeLis t.length
    Dim countMod as integer = lXMLDeptNodeLis t.length
    storeCount = (storeCount/11)
    'storeXml= lXMLDepartureDO M
    'Dim sDate As DateTime
    i = 0

    storeXml = lXMLDepartureDO M.xml
    'Dim objData as New data.DataSet
    Dim xmlData As String = lXMLDepartureDO M.xml

    Dim xmlSR As System.IO.Strin gReader = New System.IO.Strin gReader(xmlData )

    objData.ReadXml (xmlSR, Data.XmlReadMod e.Auto).ToStrin g()

    DataGrid2.Datas ource = objData.Tables( 6)
    DataGrid2.Datab ind()

    %>

    <asp:DataGrid id="DataGrid2" AllowPaging="tr ue" AllowCustomPagi ng="false" AlternatingItem Style-BackColor="whit e" OnPageIndexChan ged="DataGrid2_ PageIndexChange d" PageSize=10 PagerStyle-Mode="NumericPa ges" runat="server" AutoGenerateCol umns="False" GridLines="Vert ical" width="100%" class="PriceBox " cellspacing="0" border="0"
    BorderStyle="No ne" BackColor="Whit e" AllowSorting="t rue">
    <ItemStyle ForeColor="Blac k" BackColor="#F0E DED"></ItemStyle>
    <HeaderStyle Font-Bold="True" Font-Names="Verdana" Font-Size="8px" Height="25px" ForeColor="Whit e" BackColor="Blac k" ></HeaderStyle>
    <FooterStyle ForeColor="Blac k" BackColor="#CCC CCC"></FooterStyle>
    <Columns>
    <asp:BoundColum n HeaderStyle-CssClass="trPri ceBoxHeader" HeaderStyle-HorizontalAlign ="Center" ItemStyle-HorizontalAlign ="Center" DataFormatStrin g="{0:d}" HeaderText="Tou r Start Date" DataField="Land StartDate"></asp:BoundColumn >
    <asp:BoundColum n HeaderStyle-HorizontalAlign ="Center" ItemStyle-HorizontalAlign ="Center" HeaderText="Ret urn Date" DataFormatStrin g="{0:dd-MMM-yyyy}" DataField="Land EndDate"></asp:BoundColumn >
    <asp:BoundColum n HeaderStyle-HorizontalAlign ="Center" ItemStyle-HorizontalAlign ="Center" HeaderText="Lan d/Cruise Price" DataFormatStrin g="{0:C3}" DataField="Land OnlyPrice"></asp:BoundColumn >
    <asp:BoundColum n HeaderStyle-HorizontalAlign ="Center" ItemStyle-HorizontalAlign ="Center" HeaderText="Sta tus" DataField="Stat us"></asp:BoundColumn >
    <asp:HyperLinkC olumn HeaderStyle-HorizontalAlign ="Center" ItemStyle-HorizontalAlign ="Center" HeaderText="Sta tus" NavigateUrl="" ></asp:HyperLinkCo lumn>
    </Columns>
    <PagerStyle Position="Botto m" HorizontalAlign ="Left" ForeColor="" BackColor="" ></PagerStyle>
    </asp:DataGrid>

    Now Using dataview

    Paging is done but only once and to do paging again i hv to start MS developer.
    also to format string ,i made HTMLEncode = false

    Code :

    <script runat="server">

    Dim objData as New data.DataSet

    Protected Sub CustomersGridVi ew_PageIndexCha nged(ByVal sender As Object, ByVal e As EventArgs)

    ' Call a helper method to display the current page number
    ' when the user navigates to a different page.
    'DisplayCurrent Page()
    gridViewPublish ers.PageIndex = e.NewPageIndex
    'gridViewPublis hers.Columns(2) .ToString().For mat("dd/MMM/yyyy",)
    gridViewPublish ers.DataBind()

    End Sub
    </script>

    <%
    Dim s As String
    Dim i As Integer

    Dim str As String
    Dim storeXml as string
    Dim objAPI As New CAPI
    Dim lXMLDepartureDO M As New MSXML2.DOMDocum ent
    Dim lXMLDeptNodeLis t As MSXML2.IXMLDOMN odeList
    Dim lXMLDeptNode As MSXML2.IXMLDOMN ode
    Dim lXMLTourMedia As MSXML2.IXMLDOMN ode

    str = "<brand>Cos mos</brand><tourCode >" & Request.QuerySt ring("tourcode" ) & "</tourCode><prici ngModel>USA</pricingModel>"
    lXMLDepartureDO M = objAPI.CallAPI( "GetDeparturesX ML", str)
    If (Request.QueryS tring("tourcode ").EndsWith (1)) Then
    lXMLDepartureDO M = objAPI.CallAPI( "GetGSADepartur esXML", str)
    Else
    lXMLDepartureDO M = objAPI.CallAPI( "GetDeparturesX ML", str)
    End If
    lXMLDeptNodeLis t = lXMLDepartureDO M.selectNodes("//Departure")
    Dim storeCount as integer = lXMLDeptNodeLis t.length
    Dim countMod as integer = lXMLDeptNodeLis t.length
    storeCount = (storeCount/11)
    'storeXml= lXMLDepartureDO M
    'Dim sDate As DateTime
    i = 0

    storeXml = lXMLDepartureDO M.xml
    'Dim objData as New data.DataSet
    Dim xmlData As String = lXMLDepartureDO M.xml

    Dim xmlSR As System.IO.Strin gReader = New System.IO.Strin gReader(xmlData )

    objData.ReadXml (xmlSR, Data.XmlReadMod e.Auto).ToStrin g()

    gridViewPublish ers.Datasource = objData.Tables( 6)
    gridViewPublish ers.Databind()
    %>

    <asp:GridView ID="gridViewPub lishers" runat="server" AllowPaging="tr ue" AutoGenerateCol umns="false" OnPageIndexChan ged="CustomersG ridView_PageInd exChanged" PagerSettings-Mode="Numeric" PagerSettings-Position="Botto m" PageSize="10" width="100%">
    <HeaderStyle Font-Bold="True" Font-Names="Verdana" Font-Size="11px" Height="25px" ForeColor="Whit e" BackColor="Blac k" ></HeaderStyle>
    <Columns>
    <asp:BoundFie ld DataField="Land StartDate" HtmlEncode="fal se" DataFormatStrin g="{0:$#,##0.00 ;($#,##0.00);0} " ItemStyle-HorizontalAlign ="Center" HeaderText="Tou r Start Date" />
    <asp:BoundFie ld DataField="Land EndDate" HtmlEncode="fal se" ItemStyle-HorizontalAlign ="Center" HeaderText="Ret urn Date" />
    <asp:BoundFie ld DataField="Land OnlyPrice" HtmlEncode="fal se" DataFormatStrin g="{0:c}" ItemStyle-HorizontalAlign ="Center" HeaderText="Lan d/Cruise Price" SortExpression= "Fax" />
    <asp:BoundFie ld ApplyFormatInEd itMode="true" DataField="Stat us" HtmlEncode="fal se" ItemStyle-HorizontalAlign ="Center" HeaderText="Sta tus"/>

    </Columns>
    </asp:GridView>

    Please Help me regarding above problem..

    Thanks
    Parijaat Shah
    (Software Developer- Webaccess India Pvt Ltd)
Working...