Display Course List to show a list of the courses taught in a dataGridView with one column for course ID and one column for section numbers

Issue

This Content is from Stack Overflow. Question asked by Todd Stringfellow

Public Class PROG_1_Stringfellow
Structure CourseData
Dim courSec As String
Dim instructor As String
Dim roomNum As String
Dim courCap As Integer
Dim currEnr As Integer
End Structure
Dim Courses() As CourseData
Private Sub PROG_1_Stringfellow_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim lines() As String = IO.File.ReadAllLines(“Courses.txt”)
Dim n As Integer = lines.Count – 1
ReDim Courses(n)
Dim line As String
Dim data() As String
For i As Integer = 0 To n
line = lines(i)
data = line.Split(“,”c)
Courses(i).courSec = data(0)
Courses(i).instructor = data(1)
Courses(i).roomNum = data(2)
Courses(i).courCap = CInt(data(3))
Courses(i).currEnr = CInt(data(4))
Dim query = From course In Courses
Order By course.courSec Ascending
Select course.courSec, course.instructor, course.roomNum, course.courCap, course.currEnr
Distinct
dgvCourseData.DataSource = query.ToList
dgvCourseData.RowHeadersVisible = False
dgvCourseData.CurrentCell = Nothing
dgvCourseData.SelectionMode = False
Next
End Sub
Private Sub btnAllSec_Click(sender As Object, e As EventArgs) Handles btnAllSec.Click
Dim allSec = From course In Courses
Order By course.courSec Ascending
Select course.courSec, course.instructor, course.roomNum, course.currEnr
Distinct
dgvCourseData.DataSource = allSec.ToList
dgvCourseData.RowHeadersVisible = False
dgvCourseData.CurrentCell = Nothing
dgvCourseData.SelectionMode = False

End Sub
Private Sub btnAvaSec_Click(sender As Object, e As EventArgs) Handles btnAvaSec.Click
    Dim avaSec = From course In Courses
                 Let spotsAvail = course.courCap - course.currEnr
                 Where spotsAvail > 0
                 Order By spotsAvail Descending, course.courSec Ascending
                 Select course.courSec, course.instructor, course.roomNum, spotsAvail
                 Distinct
    dgvCourseData.DataSource = avaSec.ToList
    dgvCourseData.RowHeadersVisible = False
    dgvCourseData.CurrentCell = Nothing
    dgvCourseData.SelectionMode = False
End Sub

Private Sub btnTeacherR_Click(sender As Object, e As EventArgs) Handles btnTeacherR.Click

    Dim input = InputBox("Enter Instructor's last name", "Teacher report")

    Dim InstructReport = From course In Courses
                         Let parts = course.instructor.Split(" "c)
                         Where parts(1) = input
                         Order By course.courSec Ascending
                         Select course.courSec, course.roomNum, course.currEnr
                         Distinct
    If InstructReport.Count = 0 Then
        MessageBox.Show("No results- invalid instuctor last name")
    End If
    dgvCourseData.DataSource = InstructReport.ToList
    dgvCourseData.RowHeadersVisible = False
    dgvCourseData.CurrentCell = Nothing
    dgvCourseData.SelectionMode = False
End Sub

Private Sub btnCourseL_Click(sender As Object, e As EventArgs) Handles btnCourseL.Click
    Dim courseLst = From course In Courses
                    Let parts = course.courSec.Split(" "c)
                    Where 


End Sub

Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
    Me.Close()
End Sub

End Class



Solution

This question is not yet answered, be the first one who answer using the comment. Later the confirmed answer will be published as the solution.

This Question and Answer are collected from stackoverflow and tested by JTuto community, is licensed under the terms of CC BY-SA 2.5. - CC BY-SA 3.0. - CC BY-SA 4.0.

people found this article helpful. What about you?