亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? selltable.cs

?? 進銷存管理系統
?? CS
?? 第 1 頁 / 共 2 頁
字號:

		//------------向【業務員】下拉列表框中添加下拉選項------------
		private void selectDataBase()
		{
			this.txt_SellDate.Text = System.DateTime.Today.ToShortDateString();
			string tempStrSQL = "select distinct 姓名 from 用戶清單 ";
			DataTable tempDataTable = link.SelectDataBase(tempStrSQL);
			for (int i=0;i<tempDataTable.Rows.Count;i++)
				this.cmb_Oprater.Items.Add(tempDataTable.Rows[i][0]);
			this.cmb_Oprater.SelectedIndex = 0;
		}
				
		//----------綁定數據并設置明細表格各列的屬性----------
		private void DataGridStateControl()
		{
			newTable = new DataTable();
			newTable.Columns.Add("貨號(雙擊)",typeof(string));
			newTable.Columns.Add("數量",typeof(decimal));
			newTable.Columns.Add("單價",typeof(decimal));
			newTable.Columns.Add("倉庫(雙擊)",typeof(string));
			newTable.Columns.Add("品名",typeof(string));
			newTable.Columns.Add("單位",typeof(string));
			newTable.Columns.Add("金額",typeof(decimal),"數量*單價");
			newTable.Columns.Add("稅率",typeof(decimal));
			newTable.Columns.Add("不含稅額",typeof(decimal),"金額/1.17");
			newTable.Columns.Add("稅額",typeof(decimal),"金額-不含稅額");
			this.dgrd_SellTable.DataSource = newTable;
			newTable.Rows.Add(newTable.NewRow()); //向表中添加一行

			DataGridTableStyle ts = new DataGridTableStyle();
			DataGridTextBoxColumn aColumnTextColumn;
			ts.AllowSorting = false;
			ts.AlternatingBackColor = Color.LightGray;
			ts.MappingName = newTable.TableName;
			int numCols = newTable.Columns.Count;
			for (int i = 0;i< numCols;i++)
			{
				aColumnTextColumn = new DataGridTextBoxColumn();
				if( i!=0 && i!=1 && i!=2 && i!=3)//表中只允許編輯【數量】和【單價】兩個字段
				{
					aColumnTextColumn.ReadOnly=true;
				}
				if ( i == 0 || i == 3 )//當鼠標單擊第0列和第3列時,允許響應
				{
					aColumnTextColumn.TextBox.MouseDown += new MouseEventHandler(TextBoxMouseDownHandler);
				}
				if ( i == 4 )
				{
					aColumnTextColumn.Width = 160;
				}
				aColumnTextColumn.MappingName = newTable.Columns[i].ColumnName;
				aColumnTextColumn.HeaderText = newTable.Columns[i].ColumnName;
				aColumnTextColumn.NullText = "";
				aColumnTextColumn.Format = "N"; //設置為數字格式顯示
				ts.GridColumnStyles.Add(aColumnTextColumn);
			}
			this.dgrd_SellTable.TableStyles.Add(ts);
		}

		//-----------處理保存修改,刪除和存入歷史等功能---------
		private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
		{
			if (e.Button.ToolTipText == "保存修改")
			{
				clickedSaveIcon();
			}

			else if(e.Button.ToolTipText == "刪除數據")
			{
				try
				{
					if (newTable.Rows.Count > 0)
					{
						this.newTable.Rows.RemoveAt(this.dgrd_SellTable.CurrentCell.RowNumber);
						this.controlCalculate();
					}
					//加入空行保證newTable中不為空,否則刪除所有數據行后保存數據和MouseUp函數將引發異常出錯
					if (newTable.Rows.Count-1 <= 0)
						newTable.Rows.Add(newTable.NewRow());
				}
				catch
				{
					return;
				}
			}

			else if (e.Button.ToolTipText == "存入歷史")
			{
				clickedTrashIcon();
			}
		}

		//----------創建窗體,共用戶選擇客戶----------
		private void cmb_Client_DropDown(object sender, System.EventArgs e)
		{
			ClientDataManage newFrm = new ClientDataManage(false);
			newFrm.setDataGridReadOnly();
			newFrm.ShowDialog();
			setTextData();
			SendKeys.Send("{Tab}");//向活動應用程序發送Tab鍵,跳到下一控件
		}

		//--------將所選客戶的相關數據讀入窗體---------
		private void cmb_Client_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
		{
			this.txt_Company.Text = "";
			string strSearchWord = this.cmb_ClientID.Text;
			string sendSQL = "select 客戶編號,名稱 from 客戶清單 where 客戶編號 = '" + strSearchWord + "'";
			DataTable tempDataTable = this.link.SelectDataBase(sendSQL);		
			if (tempDataTable.Rows.Count>0)
			{
				inputTextDataArray[0] = tempDataTable.Rows[0][0].ToString().Trim();
				inputTextDataArray[1] = tempDataTable.Rows[0][1].ToString().Trim();
				this.setTextData();
				SendKeys.Send("{Tab}");//向活動應用程序發送Tab鍵,跳到下一控件
			}
		}

		private void dgrd_SellTable_DoubleClick(object sender, System.EventArgs e)
		{
			this.doubleClicked();
		}

		private void dgrd_SellTable_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
		{
			//獲取當前點擊鼠標時的時間
			DataGrid myGrid   = (DataGrid)sender;
			System.Windows.Forms.DataGrid.HitTestInfo myHitTest;
			// Use the DataGrid control's HitTest method with the x and y properties.
			myHitTest = this.dgrd_SellTable.HitTest(e.X,e.Y);
			if ( myHitTest.Type == System.Windows.Forms.DataGrid.HitTestType.Cell )
				gridMouseDownTime = DateTime.Now;
		}

		private void dgrd_SellTable_CurrentCellChanged(object sender, System.EventArgs e)
		{
			this.selectWareMessage();
			this.controlCalculate();
		}

		//------------處理鼠標在dataGrid上的單擊事件-----------
		private void TextBoxMouseDownHandler(object sender, MouseEventArgs e )
		{
			//第一個判斷條件:在單元格的textbox中的雙擊(即單擊DataCell,使它獲得焦點后,然后再響應該Cell中的雙擊事件)
			//第二個判斷條件:DataGrid 的 DoubleClick(直接雙擊Cell就響應雙擊事件,無須先單擊Cell,使它獲得焦點,然后再響應雙擊事件)
			//判斷時間間隔是否小于控制面板中所定義的雙擊間隔時間
			if( e.Button == MouseButtons.Left && e.Clicks == 2 || DateTime.Now < gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))
			{
				this.doubleClicked();
			}
		}

		//------------在表格中雙擊,創建窗體以供選擇貨物或選擇倉庫-------------
		private void doubleClicked()
		{
			if (this.dgrd_SellTable.CurrentCell.ColumnNumber == 0 )//若鼠標單擊的是第一列,則為選擇貨物
			{
				this.dgrd_SellTable[dgrd_SellTable.CurrentCell.RowNumber,3] = inputDataGridArray[3] = "";
				WareDataManage newFrm = new WareDataManage(false);
				newFrm.setDataGridReadOnly(true);
				newFrm.ShowDialog();
				setWareData();
				SendKeys.Send("{Tab}");//向活動應用程序發送Tab鍵,跳到下一控件(此處為下一格)
			}
			
			if (this.dgrd_SellTable.CurrentCell.ColumnNumber == 3)//選擇倉庫
			{
				string sendStrSQL = "select 倉庫,庫存數量 from 庫存庫 where 貨號 = '" + dgrd_SellTable[dgrd_SellTable.CurrentCell.RowNumber,0].ToString().Trim() + "' order by 倉庫 ASC";
				SelectStorage newFrm = new SelectStorage(sendStrSQL);
				newFrm.ShowDialog();
				setStorageData();
				//賦值完畢后跳向下一行
				this.dgrd_SellTable.CurrentCell = new DataGridCell(this.dgrd_SellTable.CurrentCell.ColumnNumber+1,0);
			}
		}

		//--------------向數據庫提交數據--------------
		private void clickedSaveIcon()
		{
			try
			{
				//注意:必須先刪除進貨單明細表中的數據,然后才能再刪除進貨單中的數據
				string sendSQL = "delete 銷售單明細";
				this.link.UpdateDataBase(sendSQL); //刪除進貨單明細中的數據
				sendSQL = "delete 銷售單";
				this.link.UpdateDataBase(sendSQL); //刪除進貨單中的數據


				//向銷售單中寫入數據
				int intMaxSellNumberID= 0;
				sendSQL = "select 編號 from 銷售單歷史";
				//從銷售單明細中讀取"編號"列,取它的最大值,以便為新添加的數據編號
				DataTable intNumberTable = this.link.SelectDataBase(sendSQL);
				for (int i=0;i<intNumberTable.Rows.Count;i++)
				{
					if (intMaxSellNumberID < System.Int32.Parse(intNumberTable.Rows[i][0].ToString()))
					{
						intMaxSellNumberID = System.Int32.Parse(intNumberTable.Rows[i][0].ToString());
					}
				}
				sendSQL = "select 編號 from 銷售單";
				//從銷售單明細中讀取"編號"列,取它的最大值,以便為新添加的數據編號
				intNumberTable = this.link.SelectDataBase(sendSQL);
				for (int i=0;i<intNumberTable.Rows.Count;i++)
				{
					if (intMaxSellNumberID < System.Int32.Parse(intNumberTable.Rows[i][0].ToString()))
					{
						intMaxSellNumberID = System.Int32.Parse(intNumberTable.Rows[i][0].ToString());
					}
				}
				intMaxSellNumberID++;
				string strClientID = this.cmb_ClientID.Items[0].ToString().Trim();
				string strSellDate = this.txt_SellDate.Text.Trim();
				string strOperator = this.cmb_Oprater.SelectedItem.ToString().Trim();
				string strMaker = this.txt_Maker.Text.Trim();
				decimal decTotalCount = Decimal.Parse(this.txt_TotalCount.Text.Trim());
				decimal decNoTax = Decimal.Parse(this.txt_NoTax.Text.Trim());
				decimal decTax =Decimal.Parse(this.txt_Tax.Text.Trim());
				string sendValues = "('" + intMaxSellNumberID +"','"+ strClientID +"','"+ strSellDate +"','"+ strOperator +"','"+
					strMaker +"','"+ decTotalCount +"','"+ decNoTax +"','"+ decTax + "')";
				sendSQL = "insert 銷售單 (編號,客戶編號,銷售日期,業務員,制單人,稅價合計,不含稅價,稅額) values " + sendValues;
				this.link.UpdateDataBase(sendSQL); 

				//向銷售單明細中寫入數據
				int intMaxNumberID = 0; 
				sendSQL = "select 編號 from 銷售單明細歷史";
				//從銷售單明細中讀取"編號"列,取它的最大值,以便為新添加的數據編號
				intNumberTable = this.link.SelectDataBase(sendSQL);
				for (int i=0;i<intNumberTable.Rows.Count;i++)
				{
					if (intMaxNumberID < System.Int32.Parse(intNumberTable.Rows[i][0].ToString()))
					{
						intMaxNumberID = System.Int32.Parse(intNumberTable.Rows[i][0].ToString());
					}
				}
				sendSQL = "select 編號 from 銷售單明細";
				//從銷售單明細中讀取"編號"列,取它的最大值,以便為新添加的數據編號
				intNumberTable = this.link.SelectDataBase(sendSQL);
				for (int i=0;i<intNumberTable.Rows.Count;i++)
				{
					if (intMaxNumberID < System.Int32.Parse(intNumberTable.Rows[i][0].ToString()))
					{
						intMaxNumberID = System.Int32.Parse(intNumberTable.Rows[i][0].ToString());
					}
				}
				for (int row=0;row<this.newTable.Rows.Count;row++)
				{
					//首先判斷表中的下一行數據是否為空,如果是則返回,以免因往數據庫中寫入空行而出錯
					if(this.newTable.Rows[row][0].ToString() == "")
					{
						sendSQL = "delete from 銷售單 where 編號 = '" + intMaxSellNumberID + "'";
						this.link.UpdateDataBase(sendSQL); //首先刪除這次在銷售單中加入的數據
						break;
					}
					else
					{
						intMaxNumberID++;
						string strWareID = this.dgrd_SellTable[row,0].ToString().Trim();
						decimal strWareCount = Decimal.Parse(this.dgrd_SellTable[row,1].ToString().Trim());
						decimal strWarePrice = Decimal.Parse(this.dgrd_SellTable[row,2].ToString().Trim());
						string strStorageID = this.dgrd_SellTable[row,3].ToString().Trim();
						sendValues = "('" + intMaxNumberID +"','"+intMaxSellNumberID +"','"+ strWareID +"','"+ strWareCount +"','"+ strWarePrice +"','"+
							decTotalCount +"','"+ 17 +"','"+ decNoTax +"','"+ decTax +"','"+ strStorageID + "')";
						sendSQL = "insert 銷售單明細 (編號,銷售單號,貨號,銷售數量,銷售價,稅價合計,稅率,不含稅價,稅額,倉庫) values " + sendValues;
						this.link.UpdateDataBase(sendSQL);
					}
				}
				MessageBox.Show("數據保存成功!","信息");
			}
			catch
			{
				MessageBox.Show("數據保存失敗,請確認所有信息輸入完整且正確!","提示");
				return;
			}
		}

		//---------將銷售單數據存入歷史記錄---------
		private void clickedTrashIcon()
		{
			try
			{
				if (MessageBox.Show("確實要保存為歷史記錄嗎?","詢問",MessageBoxButtons.YesNo) == DialogResult.Yes)
				{
					this.link.UpdateDataBase("exec sf_銷售單"); //調用存儲過程
					//清除供貨商信息
					this.cmb_ClientID.Items[0] = "";
					this.txt_Company.Text = "";
					//清除底部金額及稅款信息
					this.txt_TotalCount.Text = "0.00";
					this.txt_NoTax.Text = "0.00";
					this.txt_Tax.Text = "0.00";
					//清除當前DataGrid中的所有數據
					newTable.Clear();
					//加入空行保證newTable中不為空,否則刪除所有數據行后保存數據和MouseUp函數將引發異常出錯
					newTable.Rows.Add(newTable.NewRow());
					MessageBox.Show("數據成功存入歷史表!","信息");
				}
			}
			catch
			{
				MessageBox.Show("數據存入歷史表時出錯,請檢查數據庫!","提示");
			}
		}

		//------------將所選擇的商品信息讀入表格中------------
		private void selectWareMessage()
		{
			int intCurrentRowNumber = this.dgrd_SellTable.CurrentCell.RowNumber;
			//判斷何時需要檢索數據庫的商品清單,讀取商品信息(以免操作數據庫次數過多,影響程序性能)
			if (this.dgrd_SellTable[intCurrentRowNumber,0].ToString() != "")
			{
				string strSearchWord = this.dgrd_SellTable[this.dgrd_SellTable.CurrentCell.RowNumber,0].ToString().Trim();
				string sendSQL = "select 貨號,品名,單位 from 商品清單 where 貨號 = '" + strSearchWord + "'";
				DataTable tempDataTable = this.link.SelectDataBase(sendSQL);
				if (tempDataTable.Rows.Count>0)
				{
					inputDataGridArray[0] = tempDataTable.Rows[0][0].ToString().Trim();
					inputDataGridArray[1] = tempDataTable.Rows[0][1].ToString().Trim();
					inputDataGridArray[2] = tempDataTable.Rows[0][2].ToString().Trim();
					this.setWareData();
				}
				//如果從數據庫中沒有檢索出任何數據
				else
				{
					//inputDataGridArray[0]賦值為當前輸入的值,方便用戶再次修改輸入
					inputDataGridArray[0] = this.dgrd_SellTable[intCurrentRowNumber,0].ToString().Trim(); 
					inputDataGridArray[1] = "";
					inputDataGridArray[2] = "";
					this.setWareData();
				}
			}
		}

		//------計算總價,稅額等---------
		private void controlCalculate()
		{
			int intCurrentRowNumber = this.dgrd_SellTable.CurrentCell.RowNumber;
			string strWareCount = this.dgrd_SellTable[intCurrentRowNumber,1].ToString();
			string strWarePrice = this.dgrd_SellTable[intCurrentRowNumber,2].ToString();
			string strTotalCounter = this.dgrd_SellTable[intCurrentRowNumber,6].ToString();
			//當銷售價和銷售數量不為空,并且總金額為空時將當前光標移到下一行的開始處,以便DataTable依據表達式自動計算DataColumn的值
			if (strWareCount != "" && strWarePrice != "" && strTotalCounter=="")
			{
				this.dgrd_SellTable.CurrentCell = new DataGridCell(intCurrentRowNumber+1,0);
			}
			//為底部三個文本框計算總金額
			decimal intTotalCount = 0;
			decimal intNoTax = 0;
			decimal intTax = 0;

			//首先判斷列是否為空
			object obj = newTable.Compute("SUM (金額)","");
			if (obj.GetType().ToString() != "System.DBNull")
			{
				intTotalCount = (decimal)this.newTable.Compute("SUM (金額)","");
				intNoTax = (decimal)this.newTable.Compute("SUM (不含稅額)","");
				intTax = (decimal)this.newTable.Compute("SUM (稅額)","");
			}

			this.txt_TotalCount.Text = intTotalCount.ToString("N");
			this.txt_NoTax.Text = intNoTax.ToString("N");
			this.txt_Tax.Text = intTax.ToString("N");
		}

		private void SellTable_Load(object sender, System.EventArgs e)
		{
		
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图另类专区| 欧美一区二区在线免费播放| 麻豆精品国产91久久久久久| 亚洲国产成人tv| 亚洲高清一区二区三区| 亚洲一区二区三区视频在线| 午夜视频在线观看一区二区三区| 亚洲日本在线看| 亚洲午夜影视影院在线观看| 一个色妞综合视频在线观看| 天堂成人免费av电影一区| 婷婷综合久久一区二区三区| 日本午夜一本久久久综合| 麻豆精品在线观看| 福利电影一区二区三区| 丁香另类激情小说| 99re成人在线| 欧美美女黄视频| 91精品免费观看| 久久免费精品国产久精品久久久久| 国产亚洲成年网址在线观看| 亚洲欧洲三级电影| 亚洲一级二级在线| 麻豆中文一区二区| 9i在线看片成人免费| 欧美日韩在线精品一区二区三区激情| 欧美精品日韩一本| 国产亚洲一区二区三区四区| 一色桃子久久精品亚洲| 一区二区国产盗摄色噜噜| 午夜精品免费在线| 国产成人免费高清| 欧美日韩你懂得| 久久精品人人做人人综合 | 日韩一区二区三| 久久久影视传媒| 亚洲欧美日韩国产成人精品影院| 天天色图综合网| 99热这里都是精品| 精品少妇一区二区三区视频免付费 | 国产精品视频免费| 午夜精品福利一区二区蜜股av | 日韩视频一区二区三区| 国产欧美日本一区视频| 亚洲综合视频在线观看| 国产一区二区不卡老阿姨| 91国偷自产一区二区三区成为亚洲经典| 日韩精品一区二区三区swag| 亚洲国产欧美在线人成| 国产精品99久久久| 欧美妇女性影城| 亚洲视频你懂的| 国产成人精品一区二区三区四区 | 99久久777色| 精品盗摄一区二区三区| 亚洲免费在线播放| 国产不卡视频一区| 日韩你懂的电影在线观看| 亚洲一区在线看| 99热在这里有精品免费| 久久精品视频一区二区| 美美哒免费高清在线观看视频一区二区| 色综合色综合色综合色综合色综合| 精品盗摄一区二区三区| 男女性色大片免费观看一区二区 | 国产盗摄一区二区三区| 欧美一二区视频| 视频一区中文字幕国产| 在线观看视频91| 亚洲精品国产无天堂网2021| 成人app在线观看| 中文字幕精品三区| 国产精品一二三区在线| 国产欧美日韩三级| 国产米奇在线777精品观看| 欧美一区二区网站| 奇米精品一区二区三区在线观看| 欧美日韩三级在线| 天堂一区二区在线| 日韩欧美国产一区二区在线播放| 美女精品一区二区| 精品国产一区二区三区久久久蜜月| 日本vs亚洲vs韩国一区三区二区| 欧美精品一卡二卡| 日韩高清不卡在线| 久久亚洲一区二区三区四区| 精品一区二区三区香蕉蜜桃| 久久综合久色欧美综合狠狠| 国产麻豆成人传媒免费观看| 国产女人aaa级久久久级| 成人性生交大片| 亚洲男同1069视频| 欧美日本乱大交xxxxx| 久久国产成人午夜av影院| 欧美精品一区二区三区蜜桃视频 | 亚洲国产三级在线| 欧美丰满少妇xxxxx高潮对白| 日本伊人色综合网| 久久综合丝袜日本网| 成人av在线一区二区| 亚洲综合久久久久| 91精品国产综合久久婷婷香蕉| 男人的天堂亚洲一区| 国产精品污www在线观看| 色呦呦网站一区| 久久99蜜桃精品| 亚洲日本青草视频在线怡红院| 欧美天天综合网| 国产精品一区二区三区四区| 亚洲男人天堂av网| 日韩欧美国产一区二区在线播放| 成人小视频在线| 日韩av一级片| 亚洲免费av网站| 日韩写真欧美这视频| 91天堂素人约啪| 久久av资源站| 一个色在线综合| 国产亚洲精久久久久久| 欧美二区乱c少妇| 成人av午夜电影| 蜜桃精品视频在线| 亚洲激情综合网| 久久精品水蜜桃av综合天堂| 欧美精品亚洲一区二区在线播放| 国产成人在线免费观看| 日韩精品成人一区二区三区| 国产精品白丝在线| 久久久久国产精品人| 777奇米四色成人影色区| 99re这里只有精品6| 国产乱码精品一品二品| 男女性色大片免费观看一区二区 | www久久久久| 欧美一区二区日韩一区二区| 色欧美日韩亚洲| 成人午夜在线视频| 国产精品亚洲午夜一区二区三区| 日韩精品一级中文字幕精品视频免费观看| 国产精品欧美久久久久无广告| 精品国产伦一区二区三区观看方式| 欧美在线免费播放| 色国产综合视频| 99久久伊人久久99| heyzo一本久久综合| 国产98色在线|日韩| 国产一区二区伦理| 久久精品国产网站| 久久99深爱久久99精品| 久久99精品久久久久婷婷| 五月天中文字幕一区二区| 亚洲一二三四区| 亚洲激情五月婷婷| 一区二区三区高清| 亚洲国产裸拍裸体视频在线观看乱了| 中文字幕日韩精品一区| 国产精品久久久久三级| 国产精品免费aⅴ片在线观看| 国产精品天干天干在线综合| 国产精品视频九色porn| 亚洲天堂精品在线观看| 亚洲欧美色图小说| 亚洲午夜免费电影| 秋霞国产午夜精品免费视频| 毛片av一区二区三区| 国产黄色精品视频| 99国产精品久| 欧美欧美欧美欧美首页| 欧美电影免费观看高清完整版在| 久久综合999| 亚洲欧洲一区二区在线播放| 一区二区三区不卡视频| 日本伊人色综合网| 国产99一区视频免费| 91尤物视频在线观看| 欧美猛男超大videosgay| www国产精品av| 综合久久国产九一剧情麻豆| 亚洲国产成人精品视频| 国产一区二区三区最好精华液| av不卡免费电影| 91精品国产综合久久久久久久| 久久免费精品国产久精品久久久久| 国产精品美女一区二区三区| 亚欧色一区w666天堂| 国产综合一区二区| 色欧美片视频在线观看| 精品日产卡一卡二卡麻豆| 国产视频一区在线观看| 一区二区三区色| 国产在线观看一区二区| 欧洲一区在线观看| 国产欧美日韩在线看| 亚洲福利国产精品| 成人av电影观看| 精品剧情v国产在线观看在线| 亚洲欧美另类久久久精品2019| 蜜桃视频一区二区三区在线观看| 91视频免费观看| 国产情人综合久久777777|