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

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

?? commonservice.cs

?? 企業管理信息化之財務管理系統
?? CS
?? 第 1 頁 / 共 4 頁
字號:
				{
					//轉到下一頁
					theDG.CurrentPageIndex ++;
					theDT = (DataTable)thePage.Session[SessionName];
					theDV = new DataView(theDT);
					theDG.DataSource = theDV;
					theDG.DataBind();

					//添加響應鼠標移動的代碼行
					MouseMoveOnDataGrid(theDG);

					//為導航文本賦值
					CommonService.PageNavigatorText(theDG, PreviousText, NextText, PageInfo);
				}
				else
				{
				}
				return true;
			}
			catch(Exception e)
			{
				LogService.Write ("PageNavigate(System.Web.UI.Page thePage, DataGrid theDG, string SessionName, Label PreviousText, Label NextText, Label PageInfo)");
				LogService.Write ("響應DataGrid控件頁面索引改變的方法發生錯誤。");
				LogService.Write (e.Message);
				return false;
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************





		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 將DataGrid定位到特定的索引頁上
		/// </summary>
		/// <param name="thePage">調用此方法的頁面對象,建議使用this關鍵字</param>
		/// <param name="theDG">被定位的DataGrid對象</param>
		/// <param name="SessionName">用于和服務器進行交互的Session名稱,建議使用"Data"和"Data1"兩者中的一個</param>
		/// <returns>布爾型返回值,執行成功返回true,執行失敗返回false,并將錯誤信息寫入錯誤日志</returns>
		/// **************************************************************************
		public static bool LocationDataGrid(System.Web.UI.Page thePage, System.Web.UI.WebControls.DataGrid theDG, string SessionName)
		{
			System.Data.DataTable theDT;
			System.Data.DataView theDV;
			int PageIndex;

			try
			{
				try
				{
					PageIndex = int.Parse(thePage.Request.QueryString["PageIndex"]) - 1;
				}
				catch
				{
					return true;
				}
				if(PageIndex >= theDG.PageCount)
				{
					theDG.CurrentPageIndex = theDG.PageCount - 1;
				}
				else
				{
					theDG.CurrentPageIndex = PageIndex;
				}
				theDT = (DataTable)thePage.Session[SessionName];
				theDV = new DataView(theDT);
				theDG.DataSource = theDV;
				theDG.DataBind();

				//添加響應鼠標移動的代碼行
				MouseMoveOnDataGrid(theDG);

				return true;
			}
			catch(Exception e)
			{
				//不用定位
				LogService.Write ("LocationDataGrid(System.Web.UI.Page thePage, DataGrid theDG, string SessionName)");
				LogService.Write ("在將DataGrid定位到特定的索引頁上時發生錯誤。");
				LogService.Write (e.Message);
				return false;
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************




		

		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 為DataGrid添加響應鼠標移動的代碼
		/// </summary>
		/// <param name="theDG">被添加鼠標移動響應代碼的DataGrid控件</param>
		/// **************************************************************************
		public static void MouseMoveOnDataGrid(System.Web.UI.WebControls.DataGrid theDG)
		{
			for (int i=0; i<theDG.Items.Count; i++)
			{
				theDG.Items[i].Attributes["onMouseOver"] = "javascript:this.bgColor='LemonChiffon'; ";
				theDG.Items[i].Attributes["onMouseOut"] = "javascript:this.bgColor='white';";
				theDG.Items[i].Attributes["ondblclick"] = "javascript:Select(this);";
				//theDG.Items[i].Attributes["style"] = "cursor:hand";
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************





		


		








		
		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 根據不同的刪除方法進行不同的調用,對選中的數據進行刪除(二期老版本)
		/// </summary>
		/// <param name="thePage">調用此方法的頁面對象</param>
		/// <param name="theDG">存儲數據的DataGrid控件對象</param>
		/// <param name="sql">刪除之后重新綁定數據時所用的SQL語句,用ViewState["sql"].ToString()作為參數即可</param>
		/// <param name="SessionName">用于和服務器進行交互的Session名稱,建議使用"Data"和"Data1"兩者中的一個</param>
		/// <param name="CheckBoxName">存儲選中標志的CheckBox控件的ID</param>
		/// <param name="DataTypes">主關鍵字列表的數據類型組成的字符型數組,一定要按刪除方法的參數的先后順序排列</param>
		/// <param name="Pk">存儲主關鍵字的Hidden控件對象名組成的字符型數組,一定要按刪除方法的參數的先后順序排列</param>
		/// <param name="ClassName">定義刪除方法的類名稱(需要給出完整路徑)</param>
		/// <param name="MethodName">刪除方法的名稱</param>
		/// <param name="PathLevel">出錯頁面與當前頁面的相對路徑關系</param>
		/// <param name="ErrorMessage">出錯信息文本</param>
		/// <returns>布爾型返回值,成功執行返回true,發生錯誤返回false</returns>
		/// **************************************************************************
		public static bool DelSelectRecord(	System.Web.UI.Page thePage, 
											System.Web.UI.WebControls.DataGrid theDG, 
											string sql, 
											string SessionName, 
											string CheckBoxName, 
											string[] DataTypes, 
											string[] Pk, 
											string ClassName,
											string MethodName,
											int PathLevel, 
											string ErrorMessage)
		{
			//生成錯誤頁面的路徑
			string path = "";

			//獲取當前的流程ID(FlowId)
			string FlowId = "";

			for(int k=0; k<PathLevel; k++)
			{
				path = path + "../";
			}

			//打開數據庫連接
			SqlConnection SqlCn = new SqlConnection (com.unicafe.common.Configuration.GetDBConnectionString());
			SqlCn.Open();

			try
			{
				//開始事務
				//SqlTransaction SqlTrans = SqlCn.BeginTransaction();
				//聲明存儲主關鍵字的變量
				object[] obj = new object[DataTypes.Length];
	
				//對本頁上DataGrid的所有行進行遍歷
				for (int i=0; i<theDG.Items.Count; i++)
				{
					//將當前行賦值給一個DataGridItem對象
					DataGridItem _item = theDG.Items[i];

					//判斷當前行上的CheckBox控件賦值給一個CheckBox對象
					CheckBox CheckFlag = (CheckBox)_item.FindControl(CheckBoxName);   

					//判斷當前行上的復選框是否被選中,如果被選中則進行刪除處理,否則不予處理
					if(CheckFlag.Checked == true)
					{
						//獲取關鍵字的值,逐個加入對象數組obj
						for (int j=0; j<Pk.Length; j++)
						{
							obj[j] = ((System.Web.UI.HtmlControls.HtmlInputHidden)_item.FindControl(Pk[j].ToString())).Value;     //取各項主關鍵字
						}

						//調用刪除方法進行刪除處理,如果沒有成功刪除則回滾事務并進入錯誤頁面
						if(Reflection(ClassName, MethodName, DataTypes, obj, SqlCn) == false)
						{
							//SqlTrans.Rollback();
							//path = path + "publics/Error.aspx?errmsg=" + ErrorMessage;
							//定向到錯誤頁面
							//thePage.Response.Redirect(path); 
							//打開錯誤信息提示頁面
							Prompt.PromptError(thePage, ErrorMessage);
							return false;
						}
					}
				}
				
				//提交數據庫修改
				//SqlTrans.Commit();

				//重新綁定DataGrid控件
				if(CommonService.BindDataGrid(thePage,sql,theDG,SessionName,true) == false)
				{
					//打開錯誤信息提示頁面
					Prompt.PromptError(thePage, "已經成功刪除選定的數據,但在重新綁定數據時發生錯誤。");
					return false;
				}
				else
				{
					//判斷此記錄是否在某工作流中
					FlowId = thePage.Request.QueryString["flowid"];
					//LogService.Write("現在要刪除的流程ID:" + FlowId);
					if (FlowId != null)
					{
						WorkflowMgr wMgr = new WorkflowMgr();
						wMgr.DelMessage(FlowId);
						thePage.Response.Write("<script>");
						thePage.Response.Write("window.parent.refreshOpener();");
						thePage.Response.Write("window.parent.close();");
						thePage.Response.Write("</script>");
					}
				}
				return true;
			}
			catch(Exception e)
			{
				//打開錯誤信息提示頁面
				Prompt.PromptError(thePage, ErrorMessage);
				LogService.Write(e.Message);
				return false;
			}
			finally
			{
				SqlCn.Close();
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************





		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 根據不同的情況調用不同的刪除方法(二期老版本)
		/// </summary>
		/// <param name="ClassName">定義該刪除方法的類名</param>
		/// <param name="MethodName">刪除方法名</param>
		/// <param name="DataType">主關鍵字字段數據類型組成的數組</param>
		/// <param name="pk">主關鍵字字段組成的數組</param>
		/// **************************************************************************
		public static bool Reflection(string ClassName, string MethodName, string[] DataTypes, object[] pk, SqlConnection SqlCn)
		{
			try
			{
				Assembly[] asm = AppDomain.CurrentDomain.GetAssemblies();
				Type t=null;
				int i=0;
				do
				{
					t = asm[i].GetType(ClassName);
					i++;
				} while (t == null && i<asm.Length);

				object obj = Activator.CreateInstance(t);
 
				//將傳入的數據類型字符串轉化為數據類型數組
				Type[] types = ConvertDataType(SqlCn, DataTypes);
				//根據方法名和數據類型數組獲取方法
				MethodInfo m = t.GetMethod(MethodName,types);
				//根據數據類型轉化數據
				object[] aryObj = ConvertData(SqlCn, DataTypes, pk); 
				//如果轉化成功則調用查找到的方法執行
				if (aryObj == null)
				{
					LogService.Write("public static bool reflection(string ClassName, string MethodName, string[] DataType, object[] pk)");
					LogService.Write("對主關鍵字進行特定數據類型轉換的操作不成功。");
					return false;
				}
				else
				{
					object result = m.Invoke(obj,aryObj);
					return (bool)result;
				}
			}
			catch(Exception e)
			{
				LogService.Write("public static bool Reflection(string ClassName, string MethodName, string[] DataTypes, object[] pk)");
				LogService.Write("反射函數執行失敗。ClassName:" + ClassName + "; MethodName:" + MethodName);
				LogService.Write(e.Message);
				return false;
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************





		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 將對象數組按照給定的數據類型進行轉換(二期老版本)
		/// </summary>
		/// <param name="DataType">對象數組對應的數據類型數組</param>
		/// <param name="pk">主關鍵字字段組成的數組</param>
		/// **************************************************************************
		/// BEIGIN
		/// <returns>返回轉化后的對象數組</returns>
		public static object[] ConvertData(SqlConnection SqlCn, string[] DataType, object[] pk)
		{
			try
			{
				object[] obj = new object[DataType.Length + 1];
				obj[0] = SqlCn;

				for(int i=0; i<DataType.Length; i++)
				{
					if (DataType[i].ToLower() == "int")				//整型
					{
						obj[i+1] = int.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "double")		//雙精度浮點型
					{
						obj[i+1] = double.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "datetime")	//日期型
					{
						obj[i+1] = System.DateTime.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "float")		//單精度浮點型
					{
						obj[i+1] = float.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "decimal")		//十進制小數型
					{
						obj[i+1] = decimal.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "long")		//長整型
					{
						obj[i+1] = long.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "short")		//短整型
					{
						obj[i+1] = short.Parse(pk[i].ToString());
					}					
					else if(DataType[i].ToLower() == "bool")		//布爾型
					{
						obj[i+1] = bool.Parse(pk[i].ToString());
					}					
					else											//不處理
					{
						obj[i+1] = pk[i].ToString();
					}
				}
				return obj;
			}
			catch(Exception e)
			{
				LogService.Write("public static void ConvertDataType(SqlConnection SqlCn, string[] DataType, object[] pk)");
				LogService.Write(e.Message);
				return null;
			}

		}
		/// **************************************************************************
		/// END
		/// **************************************************************************
		 

		


		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 將數據類型名稱數組轉化為數據類型數組(二期老版本)
		/// </summary>
		/// <param name="DataTypes">數據類型名稱數組</param>
		/// <returns></returns>
		/// **************************************************************************
		public static Type[] ConvertDataType(SqlConnection SqlCn, string[] DataTypes)
		{
			try
			{
				Type[] types = new Type[DataTypes.Length + 1];
				types[0] = typeof(SqlConnection);
				for(int i=0; i<DataTypes.Length; i++)
				{
					if(DataTypes[i]=="int")
					{
						types[i+1] = typeof(int);
					}
					else if(DataTypes[i]=="string")
					{
						types[i+1] = typeof(string);
					}
					else if(DataTypes[i]=="float")
					{
						types[i+1] = typeof(float);
					}
					else if(DataTypes[i]=="long")
					{
						types[i+1] = typeof(long);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影精品一区二区| 中文字幕一区二区三中文字幕| 国产高清久久久久| 午夜av电影一区| 国产精品久久久99| 欧美一区二区成人| 色天使色偷偷av一区二区| 久久精品国产第一区二区三区| 亚洲男人的天堂av| 国产性做久久久久久| 91麻豆精品91久久久久久清纯| av综合在线播放| 国产69精品久久99不卡| 天天影视涩香欲综合网| 亚洲人成影院在线观看| 国产亚洲一区二区三区| 91精品久久久久久久99蜜桃| 91麻豆成人久久精品二区三区| 国产一区二区主播在线| 日韩中文欧美在线| 亚洲午夜久久久久中文字幕久| 欧美国产欧美亚州国产日韩mv天天看完整| 制服丝袜国产精品| 日本久久一区二区三区| 成人av在线播放网站| 国产一区二区三区四区五区入口| 麻豆国产一区二区| 日本欧美一区二区三区乱码| 亚洲v日本v欧美v久久精品| 亚洲日本va在线观看| 国产欧美精品在线观看| 久久色视频免费观看| 欧美电影免费提供在线观看| 欧美一区二区三区四区五区 | 亚洲毛片av在线| 国产精品久久久久久久久免费桃花 | 91精品国产综合久久久蜜臀图片| 91国产视频在线观看| 99久久99久久精品免费看蜜桃| 国产成a人无v码亚洲福利| 国产乱码字幕精品高清av| 韩国精品一区二区| 国产一区二区免费看| 国产又粗又猛又爽又黄91精品| 黑人精品欧美一区二区蜜桃| 韩国成人精品a∨在线观看| 国产制服丝袜一区| 国产99久久精品| 成人免费av在线| 91玉足脚交白嫩脚丫在线播放| 97久久精品人人爽人人爽蜜臀 | 色香蕉久久蜜桃| 欧美性猛交xxxxxxxx| 欧美久久久影院| 日韩视频免费观看高清在线视频| 337p亚洲精品色噜噜狠狠| 日韩欧美在线综合网| 久久免费美女视频| 国产精品久久久久婷婷二区次| 亚洲欧洲三级电影| 亚洲综合自拍偷拍| 水野朝阳av一区二区三区| 美女脱光内衣内裤视频久久网站 | 美女网站色91| 国产精品一区二区在线看| 成人看片黄a免费看在线| 91精品1区2区| 欧美顶级少妇做爰| 久久久久久久久久久久久女国产乱 | 国产精品青草综合久久久久99| 国产精品麻豆久久久| 亚洲综合色婷婷| 国内精品久久久久影院一蜜桃| 高清在线不卡av| 色天使色偷偷av一区二区| 日韩视频一区在线观看| 国产精品网站一区| 亚洲超碰精品一区二区| 国产一区999| 在线视频国产一区| 久久综合成人精品亚洲另类欧美| 国产精品国产成人国产三级| 三级在线观看一区二区| 高清av一区二区| 欧美日韩免费视频| 国产亚洲精品久| 亚洲成人免费视| 懂色av一区二区在线播放| 欧美三电影在线| 中文字幕第一区综合| 亚洲国产欧美在线| 成人免费视频一区| 日韩欧美中文字幕一区| 亚洲欧美区自拍先锋| 卡一卡二国产精品 | 久久精品国产精品亚洲综合| 99re6这里只有精品视频在线观看| 7777女厕盗摄久久久| 亚洲免费观看高清完整版在线| 久久丁香综合五月国产三级网站| 不卡一区在线观看| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧洲av一区二区三区久久| 久久99精品久久只有精品| 日本精品免费观看高清观看| 久久久久高清精品| 亚洲不卡av一区二区三区| 99久久综合国产精品| 欧美tickle裸体挠脚心vk| 亚洲线精品一区二区三区| 成人教育av在线| 精品99一区二区| 日韩精品欧美精品| 91福利在线导航| 国产精品久久久爽爽爽麻豆色哟哟 | 日韩一区中文字幕| 国产一区二区三区免费播放| 91精品国产91久久久久久一区二区| 亚洲男人天堂av| 成人小视频免费在线观看| 精品久久五月天| 日本成人在线不卡视频| 欧美三级三级三级| 亚洲精品菠萝久久久久久久| k8久久久一区二区三区| 久久综合国产精品| 国产精一品亚洲二区在线视频| 欧美一区二区三区在| 日本中文字幕不卡| 69久久99精品久久久久婷婷 | 久久国产尿小便嘘嘘| 制服丝袜一区二区三区| 亚洲无人区一区| 91九色最新地址| 亚洲国产精品一区二区www在线 | 久久免费视频色| 国产精品一区二区三区四区| 欧美精品一区二区三区一线天视频 | 蜜臀va亚洲va欧美va天堂 | 久久久噜噜噜久噜久久综合| 精品写真视频在线观看| 精品国偷自产国产一区| 国产一区欧美日韩| 久久久精品免费免费| 国产精品18久久久久久久久| 亚洲精品在线观看网站| 国产aⅴ综合色| 中文字幕日韩精品一区| 99精品黄色片免费大全| 亚洲伊人伊色伊影伊综合网| 欧美日韩视频一区二区| 日韩黄色片在线观看| 欧美一区二区久久久| 久久99国产精品久久99| 久久女同精品一区二区| 成人精品电影在线观看| 亚洲六月丁香色婷婷综合久久 | 国产一区二三区好的| 国产亚洲综合在线| 91免费视频网址| 亚洲国产精品精华液网站| 欧美一二三四在线| 国产一区二区在线观看视频| 中文av一区二区| 精品视频一区二区不卡| 麻豆精品精品国产自在97香蕉| 久久久影视传媒| 99国产精品国产精品毛片| 婷婷夜色潮精品综合在线| 久久伊99综合婷婷久久伊| 99视频有精品| 日韩精品一区第一页| 日本一区二区三区视频视频| 欧美专区在线观看一区| 日本91福利区| 国产精品欧美经典| 欧美男人的天堂一二区| 国产成人免费高清| 一区二区三区产品免费精品久久75| 正在播放亚洲一区| 不卡一卡二卡三乱码免费网站| 午夜婷婷国产麻豆精品| 国产亚洲一区字幕| 欧美精品免费视频| 99麻豆久久久国产精品免费优播| 婷婷一区二区三区| 国产精品福利一区二区| 91精品综合久久久久久| 不卡的av在线| 久久99精品久久久久久久久久久久| 亚洲女性喷水在线观看一区| 精品国产一区二区在线观看| 99久久99久久精品免费观看| 麻豆精品一区二区三区| 国产蜜臀av在线一区二区三区| 欧美日韩国产精品成人| 国产毛片精品一区| 日韩欧美一级二级三级久久久| 色国产精品一区在线观看| 麻豆91在线播放|