⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caaccountfind.aspx.cs

📁 用Visual C#.net开发企业材料采购管理系统数据库使用的是SqlServer2000
💻 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 + -