using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using System.Windows.Forms;
|
using System.Drawing;
|
|
namespace Pub_Class
|
{
|
/// <summary>
|
/// 单据列表 合计网格
|
/// </summary>
|
public class ClsGridListSum
|
{
|
public DataGridView ogrdMain = new DataGridView();
|
public DataGridView oGridsum = new DataGridView();
|
private string sTotalCols;
|
public bool Changelock;
|
public bool DisplayNoCol;
|
public char chr = Convert.ToChar(",");
|
|
//建立 合计列
|
public void BuildTotalCols(string[] Cols)
|
{
|
Int64 i;
|
string tStr;
|
tStr = "";
|
for (i = 0; i < Cols.Length; i++)
|
{
|
if (i == 0)
|
{
|
tStr = Cols[i];
|
}
|
else
|
{
|
tStr = tStr + "," + Cols[i];
|
}
|
}
|
sTotalCols= tStr;
|
}
|
|
//设置主网格属性
|
public void SetGridMain(string Name)
|
{
|
ogrdMain.RowTemplate.Height = 18;
|
ogrdMain.RowTemplate.MinimumHeight = 18;
|
ogrdMain.ColumnHeadersHeight = 40;
|
ogrdMain.RowHeadersVisible = false;
|
ogrdMain.ColumnHeadersVisible = true;
|
//格式化
|
//表格设置
|
ogrdMain.RowsDefaultCellStyle.SelectionForeColor = Color.White;
|
ogrdMain.RowsDefaultCellStyle.SelectionBackColor = Color.DarkCyan;
|
ogrdMain.DefaultCellStyle.SelectionBackColor = Color.DarkCyan;
|
ogrdMain.DefaultCellStyle.SelectionForeColor = Color.White;
|
ogrdMain.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
|
ogrdMain.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
ogrdMain.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
|
ogrdMain.ReadOnly = true;
|
ogrdMain.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; //允许用户调整列宽
|
ogrdMain.EnableHeadersVisualStyles = false; //网格标题 样式
|
ogrdMain.AllowUserToAddRows = false; //是否允许自增--否
|
ogrdMain.AllowUserToDeleteRows = false; //是否允许删除--否
|
ogrdMain.AllowUserToResizeColumns = true; //允许调整列宽--是
|
ogrdMain.AllowUserToResizeRows = false; //允许调整行高--否
|
ogrdMain.AllowUserToOrderColumns = true; //允许 拖拽列
|
ogrdMain.BackgroundColor = Color.White;
|
ogrdMain.GridColor = Color.LightGray; //网格线颜色
|
ogrdMain.ShowCellToolTips = true;
|
ogrdMain.CellBorderStyle = DataGridViewCellBorderStyle.RaisedVertical;
|
ogrdMain.ColumnHeadersDefaultCellStyle.BackColor = Color.LightGray;
|
//
|
ClsPub.GetGridView(ogrdMain, Name, ClsPub.AppPath);//设置列宽
|
}
|
|
|
//设置合计网格属性
|
public void SetGridsum( )
|
{
|
|
Int32 i;
|
oGridsum.Enabled = false;
|
oGridsum.Width = ogrdMain.Width;
|
oGridsum.RowHeadersVisible = false;
|
oGridsum.ColumnHeadersVisible = false;
|
oGridsum.RowCount = 1;
|
oGridsum.ColumnCount = ogrdMain.ColumnCount;
|
oGridsum.HorizontalScrollingOffset = ogrdMain.HorizontalScrollingOffset;
|
|
oGridsum.Rows[0].Height = 20;
|
|
oGridsum.Height = 20;
|
//for (i = 1; i < oGridsum.ColumnCount; i++)
|
//{
|
// oGridsum.Rows[0].Cells[i].Value = "";
|
//}
|
|
oGridsum.Rows[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
oGridsum.Rows[0].DefaultCellStyle.BackColor = Color.Khaki;
|
for (i = 0; i < ogrdMain.ColumnCount; i++)
|
{
|
|
oGridsum.Columns[i].Visible = ogrdMain.Columns[i].Visible;
|
oGridsum.Columns[i].Width = ogrdMain.Columns[i].Width;
|
oGridsum.Rows[0].Cells[i].Value = "";
|
}
|
oGridsum.Rows[0].Cells[0].Value = "合计";
|
oGridsum.Width = ogrdMain.Width ;
|
RefreshNoCol();
|
}
|
|
|
//
|
/// <summary>
|
/// 设置合计网格属性(只调列宽不调数据)
|
/// </summary>
|
public void SetGridsum_NoData()
|
{
|
|
Int32 i;
|
oGridsum.Enabled = false;
|
oGridsum.Width = ogrdMain.Width;
|
oGridsum.RowHeadersVisible = false;
|
oGridsum.ColumnHeadersVisible = false;
|
oGridsum.HorizontalScrollingOffset = ogrdMain.HorizontalScrollingOffset;
|
|
oGridsum.Rows[0].Height = 20;
|
|
oGridsum.Height = 20;
|
oGridsum.Rows[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
oGridsum.Rows[0].DefaultCellStyle.BackColor = Color.Khaki;
|
for (i = 0; i < ogrdMain.ColumnCount; i++)
|
{
|
oGridsum.Columns[i].Visible = ogrdMain.Columns[i].Visible;
|
oGridsum.Columns[i].Width = ogrdMain.Columns[i].Width;
|
}
|
oGridsum.Rows[0].Cells[0].Value = "合计";
|
oGridsum.Width = ogrdMain.Width;
|
RefreshNoCol();
|
}
|
|
|
//合计函数
|
public void Total()
|
{
|
string[] Cols;
|
Int32 i, j, ColsTotal;
|
if(ClsPub.isStrNull(sTotalCols).ToString().Trim()=="" )
|
return;
|
if (ogrdMain.SelectedRows == null)
|
return;
|
Cols = sTotalCols.Split(chr);
|
ColsTotal = Cols.Length;
|
for (j = 0; j < ColsTotal; j++) //清空
|
{
|
oGridsum.Rows[0].Cells[j].Value = "";
|
}
|
try
|
{
|
double d = 0;
|
for (j = 0; j < ColsTotal; j++)
|
{
|
d = 0;
|
for (i = 0; i < ogrdMain.SelectedRows.Count; i++)
|
{
|
//d = d + ClsPub.isDoule(ogrdMain.Rows[i].Cells[ClsPub.isInt(Cols[j])].Value);
|
d = d + ClsPub.isDoule(ogrdMain.SelectedRows[i].Cells[ClsPub.isInt(Cols[j])].Value);
|
}
|
oGridsum.Rows[0].Cells[ClsPub.isInt(Cols[j])].Value=d.ToString();
|
}
|
}
|
catch (Exception e)
|
{
|
string s = "";
|
s= e.Message;
|
}
|
}
|
|
//合计函数 合计全部
|
public void TotalAll()
|
{
|
string[] Cols;
|
Int32 i, j, ColsTotal;
|
if (ClsPub.isStrNull(sTotalCols).ToString().Trim() == "")
|
return;
|
//if (ogrdMain == null)
|
// return;
|
Cols = sTotalCols.Split(chr);
|
ColsTotal = Cols.Length;
|
for (j = 0; j < ColsTotal; j++) //清空
|
{
|
oGridsum.Rows[0].Cells[j].Value = "";
|
}
|
try
|
{
|
double d = 0;
|
for (j = 0; j < ColsTotal; j++)
|
{
|
d = 0;
|
for (i = 0; i < ogrdMain.Rows.Count; i++)
|
{
|
d = d + ClsPub.isDoule(ogrdMain.Rows[i].Cells[ClsPub.isInt(Cols[j])].Value);
|
}
|
oGridsum.Rows[0].Cells[ClsPub.isInt(Cols[j])].Value = d.ToString();
|
}
|
}
|
catch (Exception e)
|
{
|
string s = "";
|
s = e.Message;
|
}
|
}
|
//
|
//刷新行号
|
public void RefreshNoCol()
|
{
|
//int i, m;
|
//i = 0;
|
//m = 0;
|
//for (i = 0; i < ogrdMain.RowCount; i++)
|
//{
|
// m = m + 1;
|
// ogrdMain.Rows[i].Cells[NoCol].Value = m.ToString().Trim();
|
//}
|
//ogrdMain.Columns[NoCol].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
}
|
//
|
}
|
}
|