?
Solved

datagrid month paging

Posted on 2009-06-30
7
Medium Priority
?
254 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:Seven price
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 12

Expert Comment

by:wht1986
ID: 24751282
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:Seven price
ID: 24751499
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
ID: 24759842
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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 9

Author Comment

by:Seven price
ID: 24763182
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 2000 total points
ID: 24764244
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:Seven price
ID: 31598520
Thanks
0
 
LVL 9

Author Comment

by:Seven price
ID: 24818203
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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
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…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…

771 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