123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- Imports System.Data.SqlClient
- Public Class Frm_01HF_finish_chem
- Dim cmd As New SqlCommand
- Dim da As New SqlDataAdapter
- Dim dt As New DataTable
- Dim sql As String
- Dim conn As New SqlConnection
- Private Sub Frm_01HF_finish_chem_Load(sender As Object, e As EventArgs) Handles MyBase.Load
-
-
- conn.ConnectionString = connstring
- conn.Open()
-
- sql = "select top(300) date as 日期 ,no as 单号,article as 品名,type as 分类 from ht_finish_chem group by date,no,article,type order by date desc"
- cmd.CommandText = sql
- cmd.Connection = conn
- da.SelectCommand = cmd
- da.Fill(dt)
-
- DataGridView1.DataSource = dt
- DataGridView1.RowTemplate.Height = 35
-
- DataGridView1.Columns(0).Width = 120
- DataGridView1.Columns(1).Width = 120
- DataGridView1.Columns(2).Width = 180
- DataGridView1.Columns(3).Width = 150
- ' DataGridView1.Columns(4).Width = 120
- ' 根据内容调整 DataGridView 大小
- DataGridView2.Width = DataGridView2.PreferredSize.Width
- ' DataGridView1.Width = DataGridView2.PreferredSize.Width
- 'DataGridView2.Height = DataGridView2.PreferredSize.Height
- 'DataGridView2.AutoSize = True
-
-
-
- End Sub
-
- Private Sub DataGridView1_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView1.SelectionChanged
-
-
-
- sql = "SELECT TOP (100) HT_finish_chem.chem AS 品名, HT_Chem_Main.sys_name AS 系统品名, CAST(HT_finish_chem.percents AS numeric(10, 1)) AS 比例, HT_finish_chem.weight AS 重量, CASE WHEN chem = '水' THEN '水' ELSE type1 END AS 分类
- FROM HT_finish_chem LEFT OUTER JOIN
- HT_Chem_Main ON HT_finish_chem.chem = HT_Chem_Main.in_use
- where date='" & DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells("日期").Value & "'and HT_finish_chem.no= '" & DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells("单号").Value & "'
- ORDER BY HT_finish_chem.weight DESC"
-
-
- cmd.CommandText = sql
- cmd.Connection = conn
- da.SelectCommand = cmd
- Dim dt1 As New DataTable
- da.Fill(dt1)
-
-
- ' 确保 DataTable 已填充到 DataGridView 中
- Dim totalPercents As Double = 0
- Dim totalWeight As Double = 0
-
- ' 遍历 DataTable 中的所有行,累加比例和重量
- For Each row As DataRow In dt1.Rows
- totalPercents += Convert.ToDouble(row("比例"))
- totalWeight += Convert.ToDouble(row("重量"))
- Next
-
- ' 在 DataTable 中添加一行,显示合计
- Dim totalRow As DataRow = dt1.NewRow()
- totalRow("品名") = "合计"
- totalRow("比例") = totalPercents
- totalRow("重量") = totalWeight
- dt1.Rows.Add(totalRow)
-
- ' 刷新 DataGridView,显示新的合计行
- DataGridView2.DataSource = dt1
-
- ' 将最后一行设置为红色字体
- Dim lastRowIndex As Integer = DataGridView2.Rows.Count - 2
-
- With DataGridView2.Rows(lastRowIndex)
- .DefaultCellStyle.ForeColor = Color.Red ' 设置字体颜色为红色
- .DefaultCellStyle.Font = New Font("Microsoft YaHei", 10, FontStyle.Bold) ' 加粗字体
- .DefaultCellStyle.BackColor = Color.LightYellow ' 设置背景颜色为淡黄色
- .ReadOnly = True ' 禁止编辑合计行
- End With
-
- DataGridView2.Columns(1).Width = 120
- DataGridView2.Columns(2).Width = 70
- DataGridView2.Columns(3).Width = 70
- DataGridView2.Columns(4).Width = 120
-
-
- End Sub
-
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'search
-
-
- sql = "select top(300) date as 日期 ,no as 单号,article as 品名,type as 分类 from ht_finish_chem where article like '%" & TextBox1.Text & "%' or type like '%" & TextBox1.Text & "%' group by date,no,article,type order by date desc"
- cmd.CommandText = sql
- cmd.Connection = conn
- da.SelectCommand = cmd
-
- dt = New DataTable
-
- da.Fill(dt)
-
- DataGridView1.DataSource = dt
- DataGridView1.RowTemplate.Height = 35
-
- DataGridView1.Columns(0).Width = 120
- DataGridView1.Columns(1).Width = 120
- DataGridView1.Columns(2).Width = 180
- DataGridView1.Columns(3).Width = 150
-
-
- End Sub
- End Class
|