摘要:怪怪員馬
Imports System.Data.OleDb
'Imports System
'Imports System.Linq
'Imports System.Reflection
'Imports System.Collections.Generic
'Imports System.Data
'Imports System.Data.SqlClient
'Imports System.Data.Common
'Imports System.Globalization
Public Class Form1
Dim weBindingSource As New BindingSource
Dim wdataset As New DataSet
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim connect_string As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + "c:\db2.mdb"
Dim cs As String = "select 員工編號,姓名,名 from man order by 員工編號"
Dim objdataset As New DataSet
'weBindingSource.DataSource = selectfunction(connect_string, cs)
Dim Dt As New DataTable
Dt = selectfunction(connect_string, cs)
' DataGridView2.DataSource = Dt
'Dt.Rows.Add()
'Dt.Rows.Add(2)
' Dim dr As DataRow
' dr = Dt.NewRow
' dr("員工編號") = "99"
' dr("姓名") = "123"
'dr("名") = "123"
' Dt.Rows.InsertAt(dr, 2)
'Dt.Rows.RemoveAt(2)
' weBindingSource.Filter = "員工編號='1'"
' TextBox4.Text += weBindingSource.Count.ToString + ""
' weBindingSource.RemoveFilter()
DataGridView1.DataSource = Dt
addopenFuncn()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim objdataset As New DataSet
Dim connect_string As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + "c:\db2.mdb"
Dim cs As String = "select 直屬上司,下屬,作業 from man1 order by 直屬上司"
Dim connx As New OleDbConnection(connect_string)
Dim dataAdapter As New OleDb.OleDbDataAdapter(cs, connx)
dataAdapter.Fill(wdataset, "人員")
Dim Dt As New DataTable
Dt = wdataset.Tables("人員")
Dt.Select("直屬上司='1'", "直屬上司")
For i As Integer = 0 To DataGridView1.Rows.Count - 1
Dim dr2() As DataRow = wdataset.Tables("人員").Select("直屬上司='" + DataGridView1.Rows(i).Cells(0).Value.ToString() + "'")
If dr2.Length = 1 Then
DataGridView1.Rows(i).Cells(3).Value = "True"
DataGridView1.Rows(i).Cells(4).Value = dr2(0)(1).ToString
DataGridView1.Rows(i).Cells(5).Value = dr2(0)(2).ToString
Else
DataGridView1.Rows(i).Cells(3).Value = "..."
DataGridView1.Rows(i).Cells(4).Value = ""
DataGridView1.Rows(i).Cells(5).Value = ""
End If
Next
End Sub
Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
If e.RowIndex >= 0 Then
Dim dr2() As DataRow = wdataset.Tables("人員").Select("直屬上司='" + DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString() + "'")
Dim dr As DataRow
TextBox5.Text = dr2.Length.ToString
If dr2.Length > 1 Then
Dim dt As New DataTable()
dt = scanFuncion(DataGridView1)
If dt.Rows(e.RowIndex).Item(3) = "..." Then
dt.Rows(e.RowIndex).Item(3) = "true"
For indx As Integer = 0 To dr2.Length - 1
dr = dt.NewRow
dr("下屬") = dr2(indx)(1)
dr("作業") = dr2(indx)(2)
dt.Rows.InsertAt(dr, e.RowIndex + 1)
Next
DataGridView1.DataSource = dt
ElseIf dt.Rows(e.RowIndex).Item(3) = "true" Then
dt.Rows(e.RowIndex).Item(3) = "..."
For indx As Integer = 0 To dr2.Length - 1
dt.Rows.RemoveAt(e.RowIndex + 1)
Next
DataGridView1.DataSource = dt
End If
End If
End If
End Sub
Function scanFuncion(ByVal dv As DataGridView)
Dim dt As New DataTable()
Dim dc As DataColumn
' Dim dv As New DataGridView
Dim dr As DataRow
For id As Integer = 0 To dv.ColumnCount - 1
dc = New DataColumn
dc.ColumnName = dv.Columns(id).DataPropertyName.ToString()
dt.Columns.Add(dc)
Next
For ind As Integer = 0 To dv.Rows.Count - 1
dr = dt.NewRow()
For inde As Integer = 0 To dv.Columns.Count - 1
If IsDBNull(dv.Rows(ind).Cells(inde).Value) Then
dr(inde) = ""
ElseIf dv.Rows(ind).Cells(inde).Value = "" Then
dr(inde) = ""
Else
dr(inde) = dv.Rows(ind).Cells(inde).Value.ToString
End If
Next
dt.Rows.Add(dr)
Next
Return dt
End Function
Function addopenFuncn() As Integer
Dim column As DataGridViewColumn = New DataGridViewTextBoxColumn()
'column = New DataGridViewCheckBoxColumn()
column = New DataGridViewTextBoxColumn()
column.DataPropertyName = "開啟"
column.Name = "開啟"
DataGridView1.Columns.Add(column)
column.ReadOnly = True
Dim column1 As DataGridViewColumn = New DataGridViewTextBoxColumn()
column1 = New DataGridViewTextBoxColumn()
column1.DataPropertyName = "下屬"
column1.Name = "下屬"
DataGridView1.Columns.Add(column1)
Dim column2 As DataGridViewColumn = New DataGridViewTextBoxColumn()
column2 = New DataGridViewTextBoxColumn()
column2.DataPropertyName = "作業"
column2.Name = "作業"
DataGridView1.Columns.Add(column2)
Return 0
End Function
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
End Sub
End Class