using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Text;
|
using System.Windows.Forms;
|
using System.Runtime.InteropServices;
|
using gregn6Lib;
|
using Pub_Class;
|
|
namespace BLL
|
{
|
public partial class Xt_UpDownBillList : Form
|
{
|
public Xt_UpDownBillList()
|
{
|
InitializeComponent();
|
}
|
//=================
|
public string sSQL_Out = "";
|
public string BillType;
|
public string FrmName;
|
//==================
|
public string ViewName = "Xt_UpDownBillList";
|
public string ModName = "Xt_UpDownBillList";
|
public string ModCaption = "Xt_UpDownBillList";
|
public const string ModRightName = "";
|
public const string ModRightNameEdit = ModRightName + "_Edit";
|
public const string ModRightNameCheck = ModRightName + "_Check";
|
public const string ModRightNameClose = ModRightName + "_Close";
|
public const string ModRightNameDelete = ModRightName + "_Delete";
|
Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); //定义一个合计类 list 界面上复制一个网格SUM
|
|
//==================================
|
private void initGrid()
|
{
|
//
|
grdMain.RowTemplate.Height = 18;
|
grdMain.RowTemplate.MinimumHeight = 18;
|
grdMain.ColumnHeadersHeight = 35;
|
grdMain.RowHeadersVisible = false;
|
grdMain.ColumnHeadersVisible = true;
|
grdMain.ColumnCount = 0;
|
grdMain.RowCount = 0;
|
//格式化
|
//表格设置
|
grdMain.RowsDefaultCellStyle.SelectionForeColor = Color.White;
|
grdMain.RowsDefaultCellStyle.SelectionBackColor = Color.DarkCyan;
|
grdMain.DefaultCellStyle.SelectionBackColor = Color.DarkCyan;
|
grdMain.DefaultCellStyle.SelectionForeColor = Color.White;
|
grdMain.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
|
grdMain.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
grdMain.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
|
grdMain.ReadOnly = true;
|
grdMain.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; //允许用户调整列宽
|
grdMain.EnableHeadersVisualStyles = false; //网格标题 样式
|
grdMain.AllowUserToAddRows = false; //是否允许自增--否
|
grdMain.AllowUserToDeleteRows = false; //是否允许删除--否
|
grdMain.AllowUserToResizeColumns = true; //允许调整列宽--是
|
grdMain.AllowUserToResizeRows = false; //允许调整行高--否
|
grdMain.AllowUserToOrderColumns = false; //允许 拖拽列
|
grdMain.BackgroundColor = Color.White;
|
grdMain.GridColor = Color.SeaShell; //网格线颜色
|
grdMain.ShowCellToolTips = true;
|
grdMain.CellBorderStyle = DataGridViewCellBorderStyle.RaisedVertical;
|
//
|
Pub_Class.ClsPub.GetGridView(grdMain, this.Name,ClsPub.AppPath);//设置列宽
|
}
|
//
|
|
private void Display()
|
{
|
SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN();
|
DataSet DSet;
|
string sSql = "";
|
string sWhere = "";
|
//过滤条件
|
sSql = sSQL_Out + sWhere + " order by 单据号 desc,hsubid ";
|
//
|
DSet = SubCn.RunProcReturn(sSql, "xt_xtgnb", ref Pub_Class.ClsPub.sExeReturnInfo);
|
//生成首行标题
|
if (DSet == null)
|
{
|
MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + Pub_Class.ClsPub.sExeReturnInfo);
|
return;
|
}
|
//
|
for (int i = 0; i < grdMain.ColumnCount; i++)
|
{
|
grdMain.Columns[i].Frozen = false;
|
}
|
//
|
grdMain.DataSource = DSet.Tables[0].DefaultView;
|
//
|
//设置合计列 list
|
string sTotalCol = "";
|
sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet);
|
string[] sT;
|
sT = sTotalCol.Split(Convert.ToChar(","));
|
oSumGrid.BuildTotalCols(sT);
|
//合计
|
//grdMain.Rows.Add();
|
//加载列宽,隐藏列
|
for (int i = 0; i < grdMain.ColumnCount; i++)
|
{
|
grdMain.Columns[i].Width = 100;
|
grdMain.Columns[i].SortMode = DataGridViewColumnSortMode.Automatic;
|
if (grdMain.Columns[i].HeaderText.Substring(0, 1).ToLower() == "h")
|
{
|
grdMain.Columns[i].Visible = false;
|
}
|
else
|
{
|
grdMain.Columns[i].Visible = true;
|
}
|
}
|
ClsPub.GetGridView(this.grdMain, this.Name,ClsPub.AppPath);
|
//画线
|
GraphLine();
|
//
|
}
|
|
|
//合计 list
|
private void Total()
|
{
|
if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0)
|
{
|
oSumGrid.SetGridsum();
|
oSumGrid.Total();
|
}
|
}
|
|
private void timer1_Tick(object sender, EventArgs e)
|
{
|
timer1.Enabled = false;
|
Display();
|
}
|
|
private void tc_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
|
private void sx_Click(object sender, EventArgs e)
|
{
|
timer1.Enabled = true;
|
}
|
|
private void dj_Click(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
|
private void Sub_ShowBill()
|
{
|
Int64 lngBillKey = 0;
|
string sHBillType = "";
|
if (grdMain.CurrentRow == null)
|
return;
|
lngBillKey = ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("hmainid")].Value);
|
sHBillType = ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("单据类型")].Value);
|
if (lngBillKey == 0)
|
return;
|
ClsPub_BLL.Sub_ShowRelationBill(sHBillType);
|
timer1.Enabled = true;
|
}
|
|
private Int32 Fun_GetCol(string sCol)
|
{
|
for (int c = 0; c < grdMain.ColumnCount; c++)
|
{
|
if (Pub_Class.ClsPub.isStrNull(grdMain.Columns[c].HeaderText).ToUpper().Trim() == sCol.Trim().ToUpper())
|
{
|
return c;
|
}
|
}
|
return 0;
|
}
|
|
private void Xt_UpDownBillList_Load(object sender, EventArgs e)
|
{
|
//
|
this.Text = ModCaption;
|
lblCaption.Text = ModCaption;
|
//
|
oSumGrid.ogrdMain = grdMain; //初始化 list
|
oSumGrid.oGridsum = grdSum; //list
|
//
|
initGrid();
|
}
|
|
|
private void cx_Click(object sender, EventArgs e)
|
{
|
Display();
|
}
|
|
private void xz_Click(object sender, EventArgs e)
|
{
|
//
|
}
|
|
private void sc_Click(object sender, EventArgs e)
|
{
|
//
|
}
|
|
|
private void timer2_Tick(object sender, EventArgs e)
|
{
|
timer2.Enabled = false;
|
timer1.Enabled = true;
|
}
|
|
|
|
private void bclk_Click(object sender, EventArgs e)
|
{
|
//保存列宽
|
Pub_Class.ClsPub.SaveGridView(grdMain, this.Name, ClsPub.AppPath);
|
}
|
|
private void mrlk_Click(object sender, EventArgs e)
|
{
|
Pub_Class.ClsPub.DefaultGridView(grdMain);
|
//参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽
|
Pub_Class.ClsPub.SaveGridView(grdMain, this.Name, ClsPub.AppPath);
|
}
|
//划线
|
private void GraphLine()
|
{
|
//找到主表ID和子表ID的 范围
|
int MainIDCol = Fun_GetCol("hmainid");
|
int SubIDCol = Fun_GetCol("hsubid");
|
long HMainID = 0;
|
bool b = false;
|
long n = 0;
|
//循环所有行
|
for (int i = 0; i < grdMain.RowCount; i++)
|
{
|
if (HMainID == 0)
|
{
|
HMainID = ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value);
|
n++;
|
}
|
else
|
{
|
//if (frmCondition.cmbHComplete.Text == "否")
|
//{
|
// if (HMainID == ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value))
|
// {
|
// //区域性清空
|
// SetDataGrid(i, MainIDCol + 1, i, SubIDCol - 1, "");
|
// }
|
// else
|
// {
|
// HMainID = ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value);
|
// b = !b;
|
// n++;
|
// }
|
//}
|
//else
|
//{
|
HMainID = ClsPub.isLong(grdMain.Rows[i].Cells[MainIDCol].Value);
|
b = !b;
|
n++;
|
//}
|
}
|
if (b)
|
{
|
grdMain.Rows[i].DefaultCellStyle.BackColor = Color.White;
|
}
|
else
|
{
|
grdMain.Rows[i].DefaultCellStyle.BackColor = Color.Lavender;
|
}
|
}
|
//显示
|
lbldj.Text = "查询出 " + n.ToString() + " 张单据";
|
lbljl.Text = "共有 " + grdMain.RowCount.ToString() + " 条记录";
|
}
|
|
|
//设置网格
|
private void SetDataGrid(int BRow, int BCol, int ERow, int ECol, string sText)
|
{
|
for (int i = BRow; i <= ERow; i++)
|
{
|
for (int j = BCol; j <= ECol; j++)
|
{
|
grdMain.Rows[i].Cells[j].Value = DBNull.Value;
|
}
|
}
|
}
|
|
//审核
|
private void sh_Click(object sender, EventArgs e)
|
{
|
//
|
}
|
|
//反审核
|
private void qsh_Click(object sender, EventArgs e)
|
{
|
//
|
}
|
|
private void grdMain_DoubleClick(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
|
private void grdMain_Paint(object sender, PaintEventArgs e)
|
{
|
GraphicsGrid();
|
}
|
|
private void GraphicsGrid()
|
{
|
|
Graphics g = grdMain.CreateGraphics();
|
Pen p = new Pen(Color.Black);
|
p.Width = 1;
|
int lWidth;
|
if (grdMain.RowHeadersVisible)
|
lWidth = grdMain.RowHeadersWidth;
|
else
|
lWidth = 0;
|
foreach (DataGridViewColumn col in grdMain.Columns)
|
{
|
lWidth += col.Width;
|
}
|
int sWidth;
|
if (grdMain.ColumnHeadersVisible)
|
sWidth = grdMain.ColumnHeadersHeight;
|
else
|
sWidth = 0;
|
foreach (DataGridViewRow col in grdMain.Rows)
|
{
|
sWidth += col.Height;
|
if (col.Index == grdMain.RowCount - 1)
|
{
|
g.DrawLine(p, new Point(0, sWidth), new Point(lWidth, sWidth));
|
}
|
}
|
}
|
|
#region 数据导出
|
|
|
#endregion
|
|
private void grdMain_DoubleClick_1(object sender, EventArgs e)
|
{
|
Sub_ShowBill();
|
}
|
|
private void grdMain_Paint_1(object sender, PaintEventArgs e)
|
{
|
GraphicsGrid();
|
}
|
|
private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) //list 先定义事件
|
{
|
Total();
|
}
|
|
private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) //list 先定义事件
|
{
|
Total();
|
}
|
|
private void grdMain_RowHeadersWidthChanged(object sender, EventArgs e) //list 先定义事件
|
{
|
Total();
|
}
|
|
private void dc_Click(object sender, EventArgs e)
|
{
|
//
|
}
|
|
|
#region //打印设置
|
|
GridppReport Report;
|
|
private void set_Click(object sender, EventArgs e)
|
{
|
//选择打印模板
|
Gy_OpenTmp oFrm = new Gy_OpenTmp();
|
oFrm.sBillName = ModName;
|
oFrm.sBillModel = ModCaption;
|
oFrm.ShowDialog();
|
}
|
|
private void dy_Click(object sender, EventArgs e)
|
{
|
//选择打印模板
|
Gy_OpenTmp oFrm = new Gy_OpenTmp();
|
oFrm.sBillName = ModName;
|
oFrm.sBillModel = ModCaption;
|
oFrm.ShowDialog();
|
if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
|
{
|
//
|
Sub_SetReport(oFrm.sOpenTmp);
|
Report.Print(true);
|
}
|
}
|
|
//预览
|
private void yl_Click(object sender, EventArgs e)
|
{
|
//选择打印模板
|
Gy_OpenTmp oFrm = new Gy_OpenTmp();
|
oFrm.sBillName = ModName;
|
oFrm.sBillModel = ModCaption;
|
oFrm.ShowDialog();
|
if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
|
{
|
//
|
Sub_SetReport(oFrm.sOpenTmp);
|
Report.PrintPreview(true);
|
}
|
}
|
|
private void Sub_SetReport(string sOpenTmp)
|
{
|
//判断行数
|
//
|
Report = new GridppReport();
|
Report.LoadFromFile(ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here .
|
Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable);
|
}
|
|
private void ReportFetchRecordByDataTable()
|
{
|
DataTable dt = new DataTable();
|
Utility.FillRecordToReport(Report, grdMain, dt, Fun_GetCol("HMaterID"));
|
}
|
|
#endregion
|
|
private void scha_Click(object sender, EventArgs e)
|
{
|
ClsPub_BLL.UpBillShow(grdMain, true, this.MdiParent);
|
}
|
|
private void xcha_Click(object sender, EventArgs e)
|
{
|
ClsPub_BLL.UpBillShow(grdMain, false, this.MdiParent);
|
}
|
}
|
}
|