Solved

datagrid month paging

Posted on 2009-06-30
7
241 Views
Last Modified: 2012-05-07
Yes is there any examples in vb or c# to have a datagrid paging by month.
0
Comment
Question by:sevensnake77
  • 4
  • 3
7 Comments
 
LVL 12

Expert Comment

by:wht1986
Comment Utility
You could emulate it by setting the filter property on a bindingsource

e.g. I have a form with a datagrid, a dataset, and a bindingsource on it
the bindingsource's data source is the dataset
the data grid's data source is the bindingsource

to page to a certain month (say january this year) you can set the filter to something like
BindingSource1.Filter = "DateColumn >= '1/1/2009' and DateColumn < '2/1/2009'"

then only the one month would be visible in the datagrid
0
 
LVL 9

Author Comment

by:sevensnake77
Comment Utility
Well more like for example
April        May
datagrid###
 
you will click on May and it will take you to june or click on April and take you to march, But I need it to show upMarch or shop up June.
0
 
LVL 12

Expert Comment

by:wht1986
Comment Utility
That's essentially what I was trying to show you. I created a working sample project for you here http://www.kevinwhite.net/sevensnake.zip
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 9

Author Comment

by:sevensnake77
Comment Utility
Understood but this is is a windows form. do you have an asp.net vb.net example for a web display
0
 
LVL 12

Accepted Solution

by:
wht1986 earned 500 total points
Comment Utility
Attached
================

Default.aspx

================
 

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

    <body>

        <form id="form1" runat="server">

        <asp:GridView ID="GridView1" runat="server"></asp:GridView>

        <table>

            <tr>

                <td>

                    <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="YearSelected" AutoPostBack="true">

                        <asp:ListItem Text="2009" />

                        <asp:ListItem Text="2008" />

                    </asp:DropDownList>

                </td>

                <td><asp:LinkButton ID="LinkButton01" runat="server" Text="Jan" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton02" runat="server" Text="Feb" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton03" runat="server" Text="Mar" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton04" runat="server" Text="Apr" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton05" runat="server" Text="May" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton06" runat="server" Text="Jun" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton07" runat="server" Text="Jul" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton08" runat="server" Text="Aug" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton09" runat="server" Text="Sep" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton10" runat="server" Text="Oct" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton11" runat="server" Text="Nov" OnClick="MonthSelected" /></td>

                <td><asp:LinkButton ID="LinkButton12" runat="server" Text="Dec" OnClick="MonthSelected" /></td>

            </tr>

        </table>

        </form>

    </body>

</html>
 

================

Default.aspx.vb

================
 

Imports System.Data
 

Partial Class _Default

    Inherits System.Web.UI.Page
 

    Dim months As String() = {"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
 

    'create a data table and mock data for the example

    Private Function CreateMockData() As DataTable

        Dim d As DataTable = New DataTable()

        d.Columns.Add("MyDateColumn", Type.GetType("System.DateTime"))

        d.Columns.Add("MyStringColumn1", Type.GetType("System.String"))

        d.Columns.Add("MyStringSolumn2", Type.GetType("System.String"))

        d.Rows.Add(New Object() {New DateTime(2008, 1, 2), "Bob", "Barker"})

        d.Rows.Add(New Object() {New DateTime(2009, 1, 2), "Bob", "Marley"})

        d.Rows.Add(New Object() {New DateTime(2008, 10, 8), "Bob", "Villa"})

        d.Rows.Add(New Object() {New DateTime(2009, 4, 12), "Bob", "InTheWater"})

        d.Rows.Add(New Object() {New DateTime(2009, 4, 28), "Bob", "Ber"})

        Return d

    End Function
 

    ' store in viewstate since we dont have a valid sql datasource

    Public Property Data() As DataTable

        Get

            If IsNothing(ViewState("DATATABLE")) Then

                Me.Data = CreateMockData()

            End If

            Return ViewState("DATATABLE")

        End Get

        Set(ByVal value As DataTable)

            ViewState("DATATABLE") = value

        End Set

    End Property
 

    Public Property SelectedYear() As Integer

        Get

            If IsNothing(ViewState("SelectedYear")) Then

                Me.SelectedYear = 2008

            End If

            Return ViewState("SelectedYear")

        End Get

        Set(ByVal value As Integer)

            ViewState("SelectedYear") = value

        End Set

    End Property
 

    Public Property SelectedMonth() As Integer

        Get

            If IsNothing(ViewState("SelectedMonth")) Then

                Me.SelectedMonth = 1

            End If

            Return ViewState("SelectedMonth")

        End Get

        Set(ByVal value As Integer)

            ViewState("SelectedMonth") = value

        End Set

    End Property
 

    Protected Sub MonthSelected(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim lb As LinkButton = sender

        SelectedMonth = Array.IndexOf(months, lb.Text)

        SetFilter()

    End Sub
 

    Protected Sub YearSelected(ByVal sender As Object, ByVal e As System.EventArgs)

        SelectedYear = Integer.Parse(DropDownList1.SelectedItem.Text)

        SetFilter()

    End Sub
 

    Private Sub SetFilter()

        Dim startDate As DateTime = New DateTime(SelectedYear, SelectedMonth, 1)

        Dim endDate As DateTime = startDate.AddMonths(1)

        Dim filter As String = String.Format("MyDateColumn >= '{0}' and MyDateColumn < '{1}'", startDate.ToShortDateString(), endDate.ToShortDateString())
 

        GridView1.EmptyDataText = String.Format("No records for {0} {1}", months(Me.SelectedMonth), Me.SelectedYear)
 

        Dim dv As DataView = New DataView(Me.Data)

        dv.RowFilter = filter

        GridView1.DataSource = dv

        GridView1.DataBind()

    End Sub
 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not IsPostBack Then

            SetFilter()

        End If

    End Sub
 
 

End Class

Open in new window

0
 
LVL 9

Author Closing Comment

by:sevensnake77
Comment Utility
Thanks
0
 
LVL 9

Author Comment

by:sevensnake77
Comment Utility
wht>> I figured you aremore familar with this maybe you can help with this one.

http://www.experts-exchange.com/Programming/Languages/.NET/Q_24557798.html
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now