DrawWidget.cs
来源:互联网 发布:红米note3数据经常断网 编辑:程序博客网 时间:2024/05/11 17:49
using System;using System.Data;// DataSet,DataTable,DataViewusing System.Configuration;// ConfigurationManagerusing Oracle.DataAccess.Client;// oracle 连接类using System.Web.UI.WebControls;// DropDownList,GridView,TreeNodeCollection,TreeView,TreeNodeusing System.Collections;// ArrayList/// <summary>/// DrawWidget 的摘要说明/// </summary>public class DrawWidget{ /// <summary> /// 构造函数 /// </summary> public DrawWidget() { } /// <summary> /// 绑定列表框 /// </summary> /// <param name="listBox">列表框对象</param> /// <param name="list">列表框内容</param> /// <returns>无</returns> public void BindListBox(ListBox listBox, ArrayList list) { listBox.DataSource = list; listBox.DataBind(); } /// <summary> /// 添加列表框项 /// </summary> /// <param name="listBox">列表框对象</param> /// <param name="strText">添加选项的文本</param> /// <returns>无</returns> public void AddListBox(ListBox listBox, string strText) { listBox.Items.Add(strText); } /// <summary> /// 删除列表框项 /// </summary> /// <param name="listBox">列表框对象</param> /// <param name="index">要删除的选项索引号</param> /// <returns>无</returns> public void DelListBox(ListBox listBox, int index) { listBox.Items.RemoveAt(index); } /// <summary> /// 统计列表框 /// </summary> /// <param name="listBox">列表框对象</param> /// <returns>统计列表框项数值</returns> public int CountListBox(ListBox listBox) { return listBox.Items.Count; } /// <summary> /// 重置列表框 /// </summary> /// <param name="listBox">列表框对象</param> /// <param name="isEnabled">重置后是否可用</param> /// <returns>无</returns> public void ResetListBox(ListBox listBox, bool isEnabled) { listBox.Items.Clear(); listBox.Enabled = isEnabled; } /// <summary> /// 获取列表框选中数值 /// </summary> /// <param name="listBox">列表框对象</param> /// <returns>选中的选项数值</returns> public string GetListBoxValue(ListBox listBox) { return listBox.SelectedValue; } /// <summary> /// 获取列表框选中文本 /// </summary> /// <param name="listBox">列表框对象</param> /// <returns>选中的选项文本</returns> public string GetListBoxText(ListBox listBox) { return listBox.SelectedItem.Text; } /// <summary> /// 获取当前选中列表框索引 /// </summary> /// <param name="listBox">列表框对象</param> /// <returns>选中的选项索引号</returns> public int GetSelectedListBox(ListBox listBox) { return listBox.SelectedIndex; } /// <summary> /// 设定当前选中列表框索引 /// </summary> /// <param name="listBox">列表框对象</param> /// <param name="index">指定的选项索引号</param> /// <returns>无</returns> public void SetSelectedListBox(ListBox listBox, int index) { listBox.SelectedIndex = index; } /// <summary> /// 绑定下拉列表 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <param name="list">下拉列表内容</param> /// <returns>无</returns> public void BindDropList(DropDownList dropDownList, ArrayList list) { dropDownList.DataSource = list; dropDownList.DataBind(); } /// <summary> /// 添加下拉列表项 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <param name="strText">添加选项的文本</param> /// <param name="strValue">添加选项的数值</param> /// <returns>无</returns> public void AddDropList(DropDownList dropDownList, string strText, string strValue) { dropDownList.Items.Add(new ListItem(strText, strValue)); } /// <summary> /// 添加下拉列表项 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <param name="orderNum">指定要添加选项的位置</param> /// <param name="strText">添加选项的文本</param> /// <param name="strValue">添加选项的数值</param> /// <returns>无</returns> public void AddDropList(DropDownList dropDownList, int orderNum, string strText, string strValue) { dropDownList.Items.Insert(orderNum, new ListItem(strText, strValue)); } /// <summary> /// 删除下拉列表项 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <param name="index">要删除的选项索引号</param> /// <returns>无</returns> public void DelDropList(DropDownList dropDownList, int index) { dropDownList.Items.RemoveAt(index); } /// <summary> /// 统计下拉列表 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <returns>统计下拉列表项数值</returns> public int CountDropList(DropDownList dropDownList) { return dropDownList.Items.Count; } /// <summary> /// 重置下拉列表 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <param name="isEnabled">重置后是否可用</param> /// <returns>无</returns> public void ResetDropList(DropDownList dropDownList, bool isEnabled) { dropDownList.Items.Clear(); dropDownList.Enabled = isEnabled; } /// <summary> /// 获取下拉列表选中数值 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <returns>选中的选项数值</returns> public string GetDropListValue(DropDownList dropDownList) { return dropDownList.SelectedValue; } /// <summary> /// 获取下拉列表选中文本 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <returns>选中的选项文本</returns> public string GetDropListText(DropDownList dropDownList) { return dropDownList.SelectedItem.Text; } /// <summary> /// 获取当前选中下拉列表索引 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <returns>选中的选项索引号</returns> public int GetSelectedDropList(DropDownList dropDownList) { return dropDownList.SelectedIndex; } /// <summary> /// 设定当前选中下拉列表索引 /// </summary> /// <param name="dropDownList">下拉列表对象</param> /// <param name="index">指定的选项索引号</param> /// <returns>无</returns> public void SetSelectedDropList(DropDownList dropDownList, int index) { dropDownList.SelectedIndex = index; } /// <summary> /// 绑定网格视图 /// </summary> /// <param name="gridView">网格控件对象</param> /// <param name="dataTable">要绑定的数据表</param> /// <returns>无</returns> public void BindGridView(GridView gridView, DataTable dataTable) { try { gridView.DataSource = dataTable; gridView.DataBind(); // 设定行列 gridView.RowStyle.Height = 30; gridView.HeaderRow.Height = 40; for (int i = 0; i < dataTable.Rows.Count; i++) { for (int j = 0; j < dataTable.Columns.Count; j++) { gridView.Rows[i].Cells[j].Wrap = false; } } } catch { } } /// <summary> /// 绑定网格视图 /// </summary> /// <param name="gridView">网格控件对象</param> /// <param name="dataTable">要绑定的数据表</param> /// <param name="title">标题名</param> /// <param name="headerList">列名表</param> /// <returns>无</returns> public void BindGridView(GridView gridView, DataTable dataTable, string title, ArrayList headerList) { try { gridView.DataSource = dataTable; gridView.DataBind(); // 设定标题 gridView.Caption = title; // 设定行列 gridView.RowStyle.Height = 30; gridView.HeaderRow.Height = 40; for (int i = 0; i < dataTable.Rows.Count; i++) { for (int j = 0; j < dataTable.Columns.Count; j++) { gridView.Rows[i].Cells[j].Wrap = false; } } // 设定列名 for (int i = 0; i < headerList.Count; i++) { try { gridView.HeaderRow.Cells[i].Text = headerList[i].ToString(); gridView.HeaderRow.Cells[i].Wrap = false; } catch { break; } } } catch { } } /// <summary> /// 获取指定名称的节点对象 /// </summary> /// <param name="menuNodes">菜单节点集合</param> /// <param name="nodeText">要查找的节点文本</param> /// <returns>找到的节点对象</returns> /// <example> /// DrawWidget.getNodeByName(treeView1.Nodes, "完井数据表"); /// </example> public TreeNode GetNodeByName(TreeNodeCollection menuNodes, string nodeText) { TreeNode result = null; foreach (TreeNode node in menuNodes) { if (node.Text == nodeText) { result = node; } } return result; } /// <summary> /// 添加节点 /// </summary> /// <param name="menuNodes">菜单节点集合</param> /// <param name="menuValue">节点编号</param> /// <param name="menuText">节点文本</param> /// <param name="menuImgUrl">图标地址</param> /// <param name="menuNaviUrl">链接地址</param> /// <param name="menuTarget">指向目标区</param> /// <returns>无</returns> /// <example> /// DrawWidget.addNode(treeView1.Nodes, "a", "test", null, "test.aspx", null); /// </example> public void AddNode(TreeNodeCollection menuNodes, string menuValue, string menuText, string menuImgUrl, string menuNaviUrl, string menuTarget) { TreeNode newNode = new TreeNode(); newNode.Value = menuValue; newNode.Text = menuText; newNode.ImageUrl = menuImgUrl; newNode.NavigateUrl = menuNaviUrl; newNode.Target = menuTarget; newNode.SelectAction = TreeNodeSelectAction.SelectExpand;// 选择后展开 menuNodes.Add(newNode); } /// <summary> /// 添加子节点 /// </summary> /// <param name="menuNode">菜单节点对象</param> /// <param name="menuValue">节点编号</param> /// <param name="menuText">节点文本</param> /// <param name="menuImgUrl">图标地址</param> /// <param name="menuNaviUrl">链接地址</param> /// <param name="menuTarget">指向目标区</param> /// <returns>无</returns> /// <example> /// DrawWidget.addChildNode(DrawWidget.getNodeByName(treeView1.Nodes, "完井数据表"), "A1", "a1", null, null, null); /// </example> public void AddChildNode(TreeNode menuNode, string menuValue, string menuText, string menuImgUrl, string menuNaviUrl, string menuTarget) { TreeNode newNode = new TreeNode(); newNode.Value = menuValue; newNode.Text = menuText; newNode.ImageUrl = menuImgUrl; newNode.NavigateUrl = menuNaviUrl; newNode.Target = menuTarget; newNode.SelectAction = TreeNodeSelectAction.SelectExpand;// 选择后展开 menuNode.ChildNodes.Add(newNode); } /// <summary> /// 递归生成菜单树 /// </summary> /// <param name="menuTree">菜单树对象</param> /// <param name="menuTable">递归菜单数据表</param> /// <param name="menuRootId">起始根菜单编号</param> /// <param name="pNode">当前递归节点</param> /// <param name="f_menuId">节点编号</param> /// <param name="f_parentId">父节点编号</param> /// <param name="f_menuName">节点文本</param> /// <param name="f_ImgUrl">图标地址</param> /// <param name="f_NaviUrl">链接地址</param> /// <param name="menuTarget">指向目标区</param> /// <returns>无</returns> /// <example> /// DrawWidget.addTree(treeView1, OracleDatabase.getDataTable("select * from menus"), "root", null, "MENU_ID", "PARENT_ID", "MENU_NAME", "IMG_URL", "NAVI_URL", null); /// </example> public void AddTree(TreeView menuTree, DataTable menuTable, string menuRootId, TreeNode pNode, string f_menuId, string f_parentId, string f_menuName, string f_ImgUrl, string f_NaviUrl, string menuTarget) { try { DataView dvTree = new DataView(menuTable); if (pNode == null) {// 根节点过滤 dvTree.RowFilter = "[" + f_menuId + "]='" + menuRootId + "'"; } else {// 子节点过滤 dvTree.RowFilter = "[" + f_parentId + "]='" + menuRootId + "'"; } foreach (DataRowView dvRow in dvTree) { TreeNode newNode = new TreeNode(); newNode.Value = dvRow["" + f_menuId + ""].ToString(); newNode.Text = dvRow["" + f_menuName + ""].ToString(); newNode.ImageUrl = dvRow[f_ImgUrl].ToString().Length > 0 ? dvRow[f_ImgUrl].ToString() : null; newNode.NavigateUrl = dvRow[f_NaviUrl].ToString().Length > 0 ? dvRow[f_NaviUrl].ToString() : null; newNode.Target = menuTarget;// 指向目标区 if (newNode.NavigateUrl.Length == 0) {// 地址为空时 newNode.SelectAction = TreeNodeSelectAction.Expand;// 点击后展开 } if (pNode == null) {// 添加当前节点的根节点 menuTree.Nodes.Add(newNode); } else {// 添加当前节点的子节点 newNode.Expanded = false;// 子节点默认展开模式 pNode.ChildNodes.Add(newNode); } AddTree(menuTree, menuTable, dvRow["" + f_menuId + ""].ToString(), newNode, f_menuId, f_parentId, f_menuName, f_ImgUrl, f_NaviUrl, menuTarget);// 递归调用 } } catch { } } /// <summary> /// 清空菜单树 /// </summary> /// <param name="menuTree">菜单树对象</param> /// <returns>无</returns> public void ResetTree(TreeView menuTree) { menuTree.Nodes.Clear(); } /// <summary> /// 绘制表 /// </summary> /// <param name="connStr">连接字符串</param> /// <param name="tabName">查询表名</param> /// <param name="html">输出绘制结果超文本</param> /// <returns>无</returns> public void DrawTable(string connStr, string tabName, out string html) { DataTable table = new DataTable(); ArrayList list = new ArrayList(); tabName = tabName.ToUpper();//表名转大写 /* 设置命令参数 */ OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); OracleCommand cmd = conn.CreateCommand(); conn.Open();// 打开连接 cmd.InitialLONGFetchSize = -1;// 设定为抓取不限长度的Long字段 /* 读表数据 */ cmd.CommandText = "select * from " + tabName; OracleDataAdapter da = new OracleDataAdapter(cmd); da.Fill(table); /* 读表备注名 */ cmd.CommandText = "select comments from user_tab_comments where table_name='" + tabName + "'"; OracleDataReader dr; dr = cmd.ExecuteReader(); if (dr.Read()) { table.TableName = dr[0].ToString(); } /* 读列备注名 */ cmd.CommandText = "select comments from user_col_comments where table_name='" + tabName + "'"; dr = cmd.ExecuteReader(); while (dr.Read()) { list.Add(dr[0].ToString());// 每次读取后数据前推,因此只需读首行即可 } dr.Close();// 关闭读取器 conn.Close();// 关闭连接 /* 绘制表格 */ html = "<table border=\"1\" style=\"text-align:center;vertical-align:middle;border:2px solid darkgray;border-collapse:collapse;width:100%;\">"; // 表名 html += "<tr><td colspan=\"" + table.Columns.Count + "\"><h2>" + table.TableName + "</h2></td></tr>"; // 表头 html += "<tr>"; for (int i = 0; i < list.Count; i++) { html += "<td><h3>" + list[i].ToString() + "</h3></td>"; } html += "</tr>"; // 表值 for (int row = 0; row < table.Rows.Count; row++) { html += "<tr>"; for (int col = 0; col < table.Columns.Count; col++) { html += "<td>" + table.Rows[row][col].ToString() + "</td>"; } html += "</tr>"; } html += "</table>"; } /// <summary> /// 绘制表 /// </summary> /// <param name="connStr">连接字符串</param> /// <param name="tabName">查询表名</param> /// <param name="whereClause">查询子句</param> /// <param name="title">显示标题</param> /// <returns>返回绘制结果</returns> public string DrawTable(string connStr, string tabName, string whereClause, string title) { string html = null; DataTable table = new DataTable(); ArrayList list = new ArrayList(); tabName = tabName.ToUpper();//表名转大写 /* 设置命令参数 */ OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); OracleCommand cmd = conn.CreateCommand(); conn.Open();// 打开连接 cmd.InitialLONGFetchSize = -1;// 设定为抓取不限长度的Long字段 /* 读表数据 */ cmd.CommandText = "select * from " + tabName + " " + whereClause; OracleDataAdapter da = new OracleDataAdapter(cmd); da.Fill(table); /* 读表备注名 */ table.TableName = title; /* 读列备注名 */ cmd.CommandText = "select comments from user_col_comments where table_name='" + tabName + "'"; OracleDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { list.Add(dr[0].ToString());// 每次读取后数据前推,因此只需读首行即可 } dr.Close();// 关闭读取器 conn.Close();// 关闭连接 /* 绘制表格 */ html = "<table border=\"1\" style=\"text-align:center;vertical-align:middle;border:2px solid darkgray;border-collapse:collapse;width:100%;\">"; // 表名 html += "<tr><td colspan=\"" + table.Columns.Count + "\"><h2>" + table.TableName + "</h2></td></tr>"; // 表头 html += "<tr>"; for (int i = 0; i < list.Count; i++) { html += "<td><h3>" + list[i].ToString() + "</h3></td>"; } html += "</tr>"; // 表值 for (int row = 0; row < table.Rows.Count; row++) { html += "<tr>"; for (int col = 0; col < table.Columns.Count; col++) { html += "<td>" + table.Rows[row][col].ToString() + "</td>"; } html += "</tr>"; } html += "</table>"; return html; } /// <summary> /// 绘制表 /// </summary> /// <param name="table">要绘制的数据表</param> /// <param name="title">显示的标题</param> /// <param name="field">字段名列表</param> /// <returns>返回绘制结果</returns> public string DrawTable(DataTable table, string title, ArrayList field) { string html = null; /* 设置表名 */ table.TableName = title; /* 绘制表格 */ html = "<table border=\"1\" style=\"text-align:center;vertical-align:middle;border:2px solid darkgray;border-collapse:collapse;width:100%;\">"; // 表名 html += "<tr><td colspan=\"" + table.Columns.Count + "\"><h2>" + table.TableName + "</h2></td></tr>"; // 表头 html += "<tr>"; if (field != null) { for (int i = 0; i < field.Count; i++) { html += "<td><h3>" + field[i].ToString() + "</h3></td>"; } } else { for (int i = 0; i < table.Columns.Count; i++) { html += "<td><h3>" + table.Columns[i].Caption + "</h3></td>"; } } html += "</tr>"; // 表值 foreach (DataRow row in table.Rows) // Loop over the rows. { html += "<tr>"; foreach (var item in row.ItemArray) // Loop over the items. { html += "<td>" + item + "</td>"; } html += "</tr>"; } html += "</table>"; return html; } /// <summary> /// 表过滤 /// </summary> /// <param name="table">要过滤的数据表</param> /// <param name="field_name">要定位的字段名</param> /// <param name="search_item">要查询的项内容</param> /// <returns>返回过滤后的表</returns> public DataTable TableFilter(DataTable table, string field_name, string search_item) { DataView dv = new DataView(table); dv.RowFilter = "[" + field_name.ToUpper() + "]='" + search_item + "'"; return dv.ToTable(); }}
0 0
- DrawWidget.cs
- CS..........................
- cs
- cs
- cs
- Cs
- cs
- cs
- cs
- CS
- cs
- cs,
- cs
- cs
- cs
- cs
- cs
- cs
- sl4j in project
- LCA小结
- Use the endorsed directory mechanism to place jaxb-api.jar(jaxb-api.jar、jaxws-api.jar与jdk1.6不兼容问题)
- DrawMenus.cs
- 怎么code review?
- DrawWidget.cs
- java中continue是什么意思?
- Leetcode Permutations II
- SQL Server管理及开发工具(Navicat for SQL Server)v11.2.13
- deploy 自己编写的 QT 程序 (window下打包程序)
- Navicat设定mysql定时任务
- JZOJ 4219 【五校联考2day1】池塘
- 基于表单数据的封装,泛型,反射以及使用BeanUtils进行处理
- 谈谈对攻读计算机研究生的看法