Imports System.Data.SqlClient Imports System.Reflection Public Class Frm_PU_crust Dim cmd As New SqlCommand Dim da As New SqlDataAdapter Dim dt As New DataTable Dim sql As String Dim conn As New SqlConnection Dim DR As SqlDataReader Private Sub Frm_PU_crust_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Me.MdiParent = FrmMDI Dim type As Type = DGV1.GetType() Dim pi As PropertyInfo = type.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic) pi.SetValue(DGV1, True, Nothing) conn.ConnectionString = connstring conn.Open() cmd.Connection = conn sql = "SELECT Rt_pu_measure1.date AS 日期, Rt_pu_measure1.tech AS 技術員, Rt_pu_measure1.card AS 卡号, Rt_pu_measure1.source AS 皮源, Rt_pu_measure1.weight1 AS 下鼓重, Rt_pu_measure1.cust AS 類別, Rt_pu_measure1.spec AS 厚度, Rt_pu_measure1.color AS 顏色, Rt_pu_measure1.sf AS 呎數, CAST(Rt_pu_measure1.sf1 AS numeric(10, 2)) AS 得革率, rt_pucrust_io.name AS 分类, rt_pucrust_io.sf AS 中检尺数, rt_pucrust_io.card3 AS 中检卡号, RT_RETAN_RECORD.price AS 蓝皮成本, RT_RETAN_RECORD.wb_weight, CASE WHEN Rt_pu_measure1.sf1 IS NULL THEN 0 ELSE CAST(price / Rt_pu_measure1.sf AS numeric(10, 2)) END AS 每尺蓝皮成本 FROM Rt_pu_measure1 LEFT OUTER JOIN RT_RETAN_RECORD ON Rt_pu_measure1.card = RT_RETAN_RECORD.card LEFT OUTER JOIN rt_pucrust_io ON Rt_pu_measure1.card = rt_pucrust_io.card_ori ORDER BY 日期 DESC" cmd.CommandText = sql da.SelectCommand = cmd da.Fill(dt) dgv1.DataSource = dt dgv1.Columns(2).Width = 160 dgv1.Columns(3).Width = 120 dgv1.SelectionMode = DataGridViewSelectionMode.FullRowSelect End Sub Private Sub dgv1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgv1.CellContentClick dt = New DataTable sql = "select card3 as 中检卡号,name as 分类,sf as 尺数 from RT_PUCRUST_io where card_ori='" & dgv1.Rows(dgv1.CurrentCell.RowIndex).Cells("卡号").Value & "'" cmd.CommandText = sql da.SelectCommand = cmd da.Fill(dt) dgv2.DataSource = dt End Sub End Class