- teamvision_rel.zip
- teamvision.3.0_src.zip
- Framework.Dll
- TeamVision.App
- app.config
- app.ico
- bin
- Common
- Data
- dbTeam.mdf
- FrmMain.de.resx
- FrmMain.Designer.vb
- FrmMain.resx
- FrmMain.vb
- Gui
- Components
- Controls
- Lists
- Shared
- Designers
- Dialogs
- Forms
- Categories
- CostTypes
- Persons
- Projects
- Tasks
- Teams
- Users
- Grids
- Interfaces
- Mods
- My Project
- Reports
- res
- Embedded Images
- Calendar.ico
- Exclaimation.ico
- StatusConnected.ico
- StatusDisconnected.ico
- TeamVision.gif
- ToolNewTask.ico
- ToolSearch.ico
- ToolWorkOffline.ico
- ToolWorkOnline.ico
- TrayOffline.ico
- TrayOnline.ico
- Images
- Major.gif
- Medium.gif
- Minor.gif
- Resources
- Calendar24.bmp
- Collapse.jpg
- Collapse_h.jpg
- Contacts24.bmp
- Expand.jpg
- Expand_h.jpg
- Folder24.bmp
- Mail24.bmp
- Notes32.bmp
- Shortcut24.bmp
- Tasks24.bmp
- Servers
- TeamVision.vbproj
- TeamVision.vbproj.user
- TeamVision.sln
- TeamVision.suo
|
Namespace Controls.Lists
Public Class TaskList
Private m_ResourceManager As New Resources.ResourceManager("TeamVision.Localize", System.Reflection.Assembly.GetExecutingAssembly())
Private WithEvents DataGridPrinter1 As DataGridPrinter = Nothing
Private Delegate Sub InitializeData()
Private m_SelectedIndex As Integer = 0
Private m_Category As Business.Category
Private m_Priority As Business.Priority
Private m_Project As Business.Project
Private m_State As Business.State
Private m_User As Business.User
Private m_Filter As String = ""
Public Sub New()
MyBase.New()
Me.InitializeComponent()
AddHandler Load, AddressOf Me.TaskListPane_Load
End Sub
#Region "TaskListPane_Load"
Private Sub TaskListPane_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Me.Initialize()
End Sub
#End Region
#Region "Initialize"
Sub Initialize()
Me.Cursor = Cursors.WaitCursor
'
Me.BeginInvoke(New InitializeData(AddressOf InitializeListView))
Me.InitializeHandlers()
'
Me.Cursor = Cursors.Default
End Sub
#End Region
#Region "InitializeListView"
Private Sub InitializeListView()
Me.Databind()
End Sub
#End Region
#Region "InitializeHandlers"
Private Sub InitializeHandlers()
AddHandler Me.TasksGrid1.SelectionChanged, AddressOf Me.SelectionChanged
AddHandler Me.TasksGrid1.DoubleClick, AddressOf Me.cmiOpen_Click
'
' TODO: Add context menu(s)
'AddHandler Me.cmiNew.Click, AddressOf Me.cmiNew_Click
'AddHandler Me.cmiDelete.Click, AddressOf Me.cmiDelete_Click
'AddHandler Me.cmiSelectAll.Click, AddressOf Me.cmiSelectAll_Click
'AddHandler Me.cmiPrint.Click, AddressOf Me.cmiPrint_Click
'AddHandler Me.cmiOpen.Click, AddressOf Me.cmiOpen_Click
End Sub
#End Region
#Region "Databind"
Public Sub Databind()
Try
Dim sql As String = "TaskID >0"
If CBool(Me.m_Filter.Length > 0) Then sql = Me.m_Filter
'
' Append Order by clause
'
sql += " ORDER By " + Columns.Task.Name
Dim dt As Schema.TaskTable = TaskManager.GetTaskTableWhere(sql)
Me.TasksGrid1.DataBind(dt)
Catch ex As System.Exception
End Try
End Sub
#End Region
#Region "DataBind"
Public Sub DataBind(ByVal e As Common.EventArgs)
Dim mDomain As Common.Domains = e.Domain
'
'Set Category
'
Select Case mDomain
Case Common.Domains.Categories ' Set Category
Me.m_Category = TryCast(e, EventArgs.CategoryEventArgs).Category
Me.m_Filter = Columns.Task.CategoryIDColumn + "=" + Me.m_Category.CategoryID.ToString
Case Common.Domains.Priorities ' Set Priority
Me.m_Priority = TryCast(e, EventArgs.PriorityEventArgs).Priority
Me.m_Filter = Columns.Task.PriorityIDColumn + "=" + Me.m_Priority.PriorityID.ToString
Case Common.Domains.Projects ' Set Project
Me.m_Project = TryCast(e, EventArgs.ProjectEventArgs).Project
Me.m_Filter = Columns.Task.ProjectIDColumn + "=" + Me.m_Project.ProjectID.ToString
Case Common.Domains.States ' Set State
Me.m_State = TryCast(e, EventArgs.StateEventArgs).State
Me.m_Filter = Columns.Task.StateIDColumn + "=" + Me.m_State.StateID.ToString
Case Common.Domains.Users ' Set User
Me.m_User = TryCast(e, EventArgs.UserEventArgs).User
Me.m_Filter = Columns.Task.UserIDColumn + "=" + Me.m_User.UserID.ToString
End Select
Me.Databind()
End Sub
#End Region
#Region "Reload"
Private Sub Reload()
Me.m_Filter = ("TaskID > 0 AND " + Me.m_Filter)
Me.InitializeListView()
End Sub
#End Region
#Region "Reload"
Public Sub Reload(ByVal Filter As String)
Me.m_Filter = Filter
Me.Databind()
End Sub
#End Region
#Region "SelectionChanged"
Private Sub SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub
#End Region
#Region "cmiNew_Click"
Private Sub cmiNew_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Me.CreateNew()
End Sub
#End Region
#Region "cmiDelete_Click"
Private Sub cmiDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Me.Delete()
End Sub
#End Region
#Region "Delete"
Public Sub Delete()
Try
If (Me.TasksGrid1.SelectedRows.Count <= 0) Then Return
Dim i As Integer = 0
Dim item As DataGridViewRow = Nothing
Do While i <= CInt(Me.TasksGrid1.SelectedRows.Count - 1)
Try
item = Me.TasksGrid1.SelectedRows(i)
Dim row As Schema.TaskRow = CType(Me.TasksGrid1.SelectedRows(i).Tag, Schema.TaskRow)
TaskManager.Delete(row.TaskID)
Catch ex As System.Exception
' Ignore deletion errors
End Try
i += 1
Loop
Me.Databind()
Catch ex As System.Exception
End Try
End Sub
#End Region
#Region "cmiSelectAll_Click"
Private Sub cmiSelectAll_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Me.SelectAll()
End Sub
#End Region
#Region "SelectAll"
Public Sub SelectAll()
Me.TasksGrid1.SelectAll()
End Sub
#End Region
#Region "cmiPrint_Click"
Private Sub cmiPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Try
If (Me.TasksGrid1.SelectedRows.Count <= 0) Then
Return
End If
Me.Print()
Catch ex As System.Exception
End Try
End Sub
#End Region
#Region "cmiOpen_Click"
Private Sub cmiOpen_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Me.Open()
End Sub
#End Region
#Region "CreateNew"
Public Sub CreateNew()
Try
Dim biz As Business.Task = New Business.Task
If Not m_Category Is Nothing Then
biz.CategoryID = Me.m_Category.CategoryID
End If
If Not m_Priority Is Nothing Then
biz.PriorityID = Me.m_Priority.PriorityID
End If
If Not m_Project Is Nothing Then
biz.ProjectID = Me.m_Project.ProjectID
End If
If Not m_State Is Nothing Then
biz.StateID = Me.m_State.StateID
End If
Dim Frm As New Forms.Tasks.FrmAdd
Frm.Databind(New EventArgs.TaskEventArgs(biz))
Frm.ShowDialog()
Catch ex As System.Exception
End Try
End Sub
#End Region
#Region "Open"
Public Sub Open()
Try
If (Me.TasksGrid1.SelectedRows.Count <= 0) Then
Return
End If
Me.m_SelectedIndex = Me.TasksGrid1.SelectedRows(0).Index
Dim row As Schema.TaskRow = CType(Me.TasksGrid1.SelectedRows(0).Tag, Schema.TaskRow)
'
' Initialize a new business object using the row data
'
Dim Frm As New Forms.Tasks.FrmEdit
Dim biz As Business.Task = New Business.Task(row)
Frm.Databind(New EventArgs.TaskEventArgs(biz))
Frm.ShowDialog()
'
' After the form closes refresh this list
'
Me.Databind()
Me.TasksGrid1.Rows(0).Selected = False
Me.TasksGrid1.Rows(Me.m_SelectedIndex).Selected = True
Me.TasksGrid1.CurrentCell = Me.TasksGrid1.Rows(Me.m_SelectedIndex).Cells(0)
Catch ex As System.Exception
End Try
End Sub
#End Region
#Region "Print"
Friend Sub Print()
Try
Dim PrintDocument1 As New System.Drawing.Printing.PrintDocument
AddHandler PrintDocument1.PrintPage, AddressOf PrintDocument1_PrintPage
Dim dsTasks As Schema.TaskTable = TryCast(Me.TasksGrid1.DataSource, Schema.TaskTable)
DataGridPrinter1 = New DataGridPrinter(TasksGrid1, PrintDocument1)
Dim pDialogResult As System.Windows.Forms.DialogResult = PrintDialog1.ShowDialog()
Me.Refresh()
If pDialogResult = System.Windows.Forms.DialogResult.OK Then PrintDocument1.Print()
Catch iex As System.Drawing.Printing.InvalidPrinterException
MessageBox.Show(m_ResourceManager.GetString("no_printer"), "Printer Error")
End Try
End Sub
#End Region
#Region " Print Preview and Dialog "
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
e.HasMorePages = DataGridPrinter1.DrawDataGridView(e.Graphics)
If e.HasMorePages Then
DataGridPrinter1.PageNumber += 1
Else
DataGridPrinter1.PageNumber = 1
DataGridPrinter1.RowCount = 0
End If
End Sub
#End Region
End Class
End Namespace
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
MS, BBA, software developer, consultant, and trainer. Specializing in building data-centric applications designed for business, university, community & faith based organizations. Started developing Excel VBA macros and never looked back. Freelance developer utilizing VB.Net, SQL Server, Microsoft Access, and ASP.Net.