📄 caaccountfind.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebApplication5
{
/// <summary>
/// CAaccountFind 的摘要说明。
/// </summary>
public class CAaccountFind : System.Web.UI.Page
{
protected System.Web.UI.WebControls.ImageButton Img_save;
protected System.Web.UI.WebControls.ImageButton Img_search;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.ListBox ListBox1;
protected System.Web.UI.WebControls.DropDownList DDList1;
protected System.Web.UI.WebControls.DropDownList DDList2;
protected System.Web.UI.WebControls.TextBox Txt_value;
protected System.Web.UI.WebControls.DropDownList DDList3;
protected System.Web.UI.WebControls.Panel Panel1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.ImageButton Img_clear;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.ImageButton Img_delete;
protected System.Web.UI.WebControls.ImageButton Img_report;
protected Resource res=new Resource();
protected DataBase Data=new DataBase();
public string FIELDNAME;
public string OPER_NAME;
int i=1;
int j=0;
//int[][] accountx=new int[6][];
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.ImageButton Img_report1;
int[][] paymentx=new int[6][];
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//this.Img_delete.Attributes.Add("onclick","return confirm('确定是否删除?')");
Data.AddEvent("确定是否删除?",Img_delete,"onclick");
if (!Page.IsPostBack)
{
Label1.Text="c_year";
Label2.Text=" and ";
//strSql_Edit="dsfsd";
InitData();
}
}
/// <summary>
/// 定义初始化数据
/// </summary>
/// <param name="e"></param>
private void InitData()
{
for (int i=0;i<=res.FIELD_NAME.Length-1;i++)
{
DDList1.Items.Add(res.FIELD_NAME[i]);
}
for (int i=0;i<=res.OPERATEOR_NAME.Length-1;i++)
{
DDList2.Items.Add(res.OPERATEOR_NAME[i]);
}
DDList3.Items.Add("并且");
DDList3.Items.Add("或者");
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Img_save.Click += new System.Web.UI.ImageClickEventHandler(this.Img_save_Click);
this.Img_search.Click += new System.Web.UI.ImageClickEventHandler(this.Img_search_Click);
this.Img_clear.Click += new System.Web.UI.ImageClickEventHandler(this.Img_clear_Click);
this.Img_delete.Click += new System.Web.UI.ImageClickEventHandler(this.Img_delete_Click);
this.Img_report.Click += new System.Web.UI.ImageClickEventHandler(this.Img_report_Click);
this.DDList1.SelectedIndexChanged += new System.EventHandler(this.DDList1_SelectedIndexChanged);
this.DDList3.SelectedIndexChanged += new System.EventHandler(this.DDList3_SelectedIndexChanged);
this.DataGrid1.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_CancelCommand);
this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);
this.DataGrid1.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_UpdateCommand);
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
this.Img_report1.Click += new System.Web.UI.ImageClickEventHandler(this.Img_report1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Img_save_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
if ((Txt_value.Text).Trim()=="")
{
Data.ShowMessage("查询值不能为空!",Page);
return;
}
string strSql=Label1.Text+DDList2.SelectedItem.Value+"'"+Txt_value.Text+"'"+Label2.Text;
ListBox1.Items.Add(strSql);
}
private void DDList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
///Label1.Text=DDList1.SelectedItem.Value;
switch(DDList1.SelectedItem.Value)
{
case "序号":
FIELDNAME="c_id";
Label1.Text=FIELDNAME;
break;
case "年":
FIELDNAME="c_year";
Label1.Text=FIELDNAME;
break;
case "月":
FIELDNAME="c_month";
Label1.Text=FIELDNAME;
break;
case "供应商":
FIELDNAME="c_provider";
Label1.Text=FIELDNAME;
break;
case "货物名称":
FIELDNAME="c_goods";
Label1.Text=FIELDNAME;
break;
case "挂帐":
FIELDNAME="c_account";
Label1.Text=FIELDNAME;
break;
case "付款":
FIELDNAME="c_payment";
Label1.Text=FIELDNAME;
break;
case "摘要":
FIELDNAME="c_remark";
Label1.Text=FIELDNAME;
break;
}
}
private void DDList3_SelectedIndexChanged(object sender, System.EventArgs e)
{
switch (DDList3.SelectedItem.Value)
{
case "并且":
OPER_NAME=" and ";
Label2.Text=OPER_NAME;
break;
case "或者":
OPER_NAME=" or ";
Label2.Text=OPER_NAME;
break;
}
}
/// <summary>
/// 定义查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Img_search_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
if (ListBox1.Items.Count==0)
{
Data.ShowMessage("请添加查询条件...",Page);
return;
}
string strSql=null;////得到listbox控件索引值连接起来的字符串
string strSql1=null;////得到去掉or或者and后的字符串
string strSql2=null;////得到查询字符串
for (int i=0;i<ListBox1.Items.Count;i++)
{
strSql+=ListBox1.Items[i].Value;
}
bool at;
int IndexPos=0;
at=strSql.EndsWith(" or "); ///查找or最后出现在strSql中的索引位置,如果存在返回true否者false
if (at) ////如果为真
{
IndexPos=strSql.LastIndexOf("or");///得到or的索引位置
strSql1=strSql.Substring(0,IndexPos-1);///去掉最后位置的or
}
else
{
IndexPos=strSql.LastIndexOf("and");////得到and的索引位置
strSql1=strSql.Substring(0,IndexPos-1);///去掉最后位置的and
}
strSql2="SELECT * FROM LIST WHERE "+strSql1;
Label3.Text=strSql2;
Data.BindData(DataGrid1,strSql2,"list");
////对数据报表记录进行处理/////
Data.runNonSql("DELETE FROM list_print1");///删除临时分组汇总表
string strInsert="INSERT INTO list_print1 "+strSql2;
Data.runNonSql(strInsert);////将符合条件的记录插入到list_print1中
string strSqlReader="SELECT c_provider as provider,SUM(c_account) as account,SUM(c_payment) as payment,c_goods as goods FROM list_print1 GROUP BY c_provider,c_goods";
Data.runNonSql("DELETE FROM list_print");
/////进行分组计算,将结果存入打印表list_print中
SqlDataReader sdr1=Data.RunSqlReader(strSqlReader);
while (sdr1.Read())
{
string strInsert1;
strInsert1="INSERT INTO list_print(id,provider,goods,account,payment,remark) VALUES("+i+",'"+sdr1["provider"]+"','"+sdr1["goods"]+"',"+sdr1["account"]+","+sdr1["payment"]+",' ')";
Data.runNonSql(strInsert1);
i++;
}
////对个人明细汇总表list_print2进行处理////
string strSql3="SELECT DISTINCT c_provider FROM list";
ArrayList FieldValues=Data.GetFieldValue(strSql3);
//Label4.Text=(FieldValues.Count).ToString();
ArrayList al1=new ArrayList();
ArrayList pl1=new ArrayList();
ArrayList al2=new ArrayList();
ArrayList pl2=new ArrayList();
ArrayList al3=new ArrayList();
ArrayList pl3=new ArrayList();
ArrayList al4=new ArrayList();
ArrayList pl4=new ArrayList();
ArrayList al5=new ArrayList();
ArrayList pl5=new ArrayList();
ArrayList al6=new ArrayList();
ArrayList pl6=new ArrayList();
for (j=0;j<FieldValues.Count;j++)
{
for (i=1;i<=6;i++)
{
string strInsert2="SELECT SUM(c_account) as a1,SUM(c_payment) as p1 FROM list where "+strSql1+" and c_provider='"+FieldValues[j].ToString().Trim()+"' and c_month='"+i+"'";
//Label4.Text=strInsert2;
SqlDataReader sdr2=Data.RunSqlReader(strInsert2);
while (sdr2.Read())
{
switch (i)
{
case 1:
if ((sdr2["a1"].ToString()==""))
al1.Add("0");
else
al1.Add(sdr2["a1"].ToString());
if ((sdr2["p1"].ToString()==""))
pl1.Add("0");
else
pl1.Add(sdr2["p1"].ToString());
break;
case 2:
if ((sdr2["a1"].ToString()==""))
al2.Add("0");
else
al2.Add(sdr2["a1"].ToString());
if ((sdr2["p1"].ToString()==""))
pl2.Add("0");
else
pl2.Add(sdr2["p1"].ToString());
break;
case 3:
if ((sdr2["a1"].ToString()==""))
al3.Add("0");
else
al3.Add(sdr2["a1"].ToString());
if ((sdr2["p1"].ToString()==""))
pl3.Add("0");
else
pl3.Add(sdr2["p1"].ToString());
break;
case 4:
if ((sdr2["a1"].ToString()==""))
al4.Add("0");
else
al4.Add(sdr2["a1"].ToString());
if ((sdr2["p1"].ToString()==""))
pl4.Add("0");
else
pl4.Add(sdr2["p1"].ToString());
break;
case 5:
if ((sdr2["a1"].ToString()==""))
al5.Add("0");
else
al5.Add(sdr2["a1"].ToString());
if ((sdr2["p1"].ToString()==""))
pl5.Add("0");
else
pl5.Add(sdr2["p1"].ToString());
break;
case 6:
if ((sdr2["a1"].ToString()==""))
al6.Add("0");
else
al6.Add(sdr2["a1"].ToString());
if ((sdr2["p1"].ToString()==""))
pl6.Add("0");
else
pl6.Add(sdr2["p1"].ToString());
break;
}///switch结束
}///if 结束
}///第一个for结束
} ///第二个for结束
Data.runNonSql("DELETE FROM list_print2");
for (int k=1;k<=FieldValues.Count;k++)
{
//Data.ShowMessage(al1[k-1].ToString(),Page);
string strInsert3="INSERT INTO list_print2(id,provider,account_1,payment_1,account_2,payment_2,account_3,payment_3,account_4,payment_4,account_5,payment_5,account_6,payment_6,remark,c_year) VALUES("+k+",'";
strInsert3+=FieldValues[k-1].ToString().Trim()+"',"+al1[k-1]+","+pl1[k-1]+","+al2[k-1]+","+pl2[k-1]+","+al3[k-1]+","+pl3[k-1]+","+al4[k-1]+","+pl4[k-1]+","+al5[k-1]+","+pl5[k-1]+","+al6[k-1]+","+pl6[k-1]+",' '"+",'"+Txt_value.Text+"')";
//Label4.Text=strInsert3;
Data.runNonSql(strInsert3);
}
///// 对个人明细汇总表list_print2进行处理////
}
private void Img_clear_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
ListBox1.Items.Clear();
//Data.ShowMessage((Label3.Text).ToString(),Page);
}
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex=(int)e.Item.ItemIndex;
Data.BindData(DataGrid1,Label3.Text,"list");
}
private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex=-1;
Data.BindData(DataGrid1,Label3.Text,"list");
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int c_id=Int32.Parse(e.Item.Cells[1].Text);
string c_year=((TextBox)e.Item.Cells[2].Controls[1]).Text;
string c_month=((TextBox)e.Item.Cells[3].Controls[1]).Text;
string c_provider=((TextBox)e.Item.Cells[4].Controls[1]).Text;
string c_goods=((TextBox)e.Item.Cells[5].Controls[1]).Text;
int c_account=Int32.Parse(((TextBox)e.Item.Cells[6].Controls[1]).Text);
int c_payment=Int32.Parse(((TextBox)e.Item.Cells[7].Controls[1]).Text);
string c_remark=((TextBox)e.Item.Cells[8].Controls[1]).Text;
string strUpdate="UPDATE list set c_year='"+c_year+"',c_month='"+c_month+"',c_provider='"+c_provider+"',c_goods='"+c_goods+"',c_account="+c_account+",c_payment="+c_payment+",c_remark='"+c_remark+"' where c_id="+c_id;
Data.runNonSql(strUpdate);////执行更改命令
//////下面重新绑丁到数据源/////
DataGrid1.EditItemIndex=-1;
Data.BindData(DataGrid1,Label3.Text,"list");
}
private void Img_delete_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//Page.RegisterStartupScript("","<script> if (confirm('确定是否删除')==true) {Delete()};</script>");
ArrayList isChecked=Data.GetChecked("chk",DataGrid1);
string strSql;
for (int i=0;i<isChecked.Count;i++)
{
strSql="delete from list where c_id="+isChecked[i].ToString();
//Data.ShowMessage(strSql,Page);
Data.runNonSql(strSql);
}
////重新绑定数据源////////
Data.BindData(DataGrid1,Label3.Text,"list");
}
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
// if (e.Item.ItemType==ListItemType.Item|| e.Item.ItemType==ListItemType.AlternatingItem)
//{
// CheckBox chkl=(CheckBox)e.Item.FindControl("chk");
//chkl.Attributes.Add("onclick","javascript:return document.forms["chk"].checked;");
//}
}
private void Button1_Click(object sender, System.EventArgs e)
{
}
private void Img_report_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
Response.Redirect("CAreport.aspx");
}
private void Img_report1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
Response.Redirect("CAreport1.aspx");
}
///
}///定义类结束
}///定义命名空间结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -