📄 category.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// Summary description for Category
/// </summary>
public class Category
{
public void InitCategory(TreeView treeView,string sNodeUrl)
{
Category category = new Category();
DataTable dataTable = SQLHelper.ConvertdrTodt(category.GetCategorys());
treeView.Nodes.Clear(); ///清空树的所有节点
DataRow[] rowList = dataTable.Select("ParentID='-1'");
if(rowList.Length <= 0) return;
///创建根节点
TreeNode rootNode = new TreeNode();
///设置根节点属性
rootNode.Text = rowList[0]["Desn"].ToString();
rootNode.Value = rowList[0]["CategoryID"].ToString(); ///设置根节点的Key值
rootNode.Expanded = true;
rootNode.Selected = true;
rootNode.NavigateUrl = sNodeUrl + "?CategoryID=" + rowList[0]["CategoryID"].ToString();
rootNode.Target = "MainFrame";
///添加根节点
treeView.Nodes.Add(rootNode);
///创建其他节点
InitChildNode(rootNode,dataTable,sNodeUrl);
}
private void InitChildNode(TreeNode parentNode,DataTable dataTable,string sNodeUrl)
{
///选择数据时,添加了排序表达式OrderBy
DataRow[] rowList = dataTable.Select("ParentID='" + parentNode.Value + "'","OrderBy");
foreach(DataRow row in rowList)
{ ///创建新节点
TreeNode node = new TreeNode();
///设置节点的属性
node.Text = row["Desn"].ToString();
node.Value = row["CategoryID"].ToString();
node.Expanded = true;
node.NavigateUrl = sNodeUrl + "?CategoryID=" + row["CategoryID"].ToString();
node.Target = "MainFrame";
parentNode.ChildNodes.Add(node);
///递归调用,创建其他节点
InitChildNode(node,dataTable,sNodeUrl);
}
}
public void BindCategoryTreeView(TreeView treeView,bool isExpanded,string sSelectedData)
{
Category category = new Category();
DataTable dataTable = SQLHelper.ConvertdrTodt(category.GetCategorys());
treeView.Nodes.Clear(); ///清空树的所有节点
DataRow[] rowList = dataTable.Select("ParentID='-1'");
if(rowList.Length <= 0) return;
///创建根节点
TreeNode rootNode = new TreeNode();
///设置根节点属性
rootNode.Text = rowList[0]["Desn"].ToString();
rootNode.Value = rowList[0]["CategoryID"].ToString(); ///设置根节点的Key值
rootNode.Expanded = isExpanded;
rootNode.Selected = true;
///添加根节点
treeView.Nodes.Add(rootNode);
///创建其他节点
CreateChildNode(rootNode,dataTable,isExpanded,sSelectedData);
}
private void CreateChildNode(TreeNode parentNode,DataTable dataTable,bool isExpanded,
string sSelectedData)
{
///选择数据时,添加了排序表达式OrderBy
DataRow[] rowList = dataTable.Select("ParentID='" + parentNode.Value + "'","OrderBy");
foreach(DataRow row in rowList)
{ ///创建新节点
TreeNode node = new TreeNode();
///设置节点的属性
node.Text = row["Desn"].ToString();
node.Value = row["CategoryID"].ToString();
node.Expanded = isExpanded;
if(node.Value == sSelectedData)
{
node.Selected = true;
}
parentNode.ChildNodes.Add(node);
///递归调用,创建其他节点
CreateChildNode(node,dataTable,isExpanded,sSelectedData);
}
}
public void BindCategoryTreeList(DropDownList categroyList)
{
int nDepth = 0;
Category category = new Category();
DataTable dataTable = SQLHelper.ConvertdrTodt(category.GetCategorys());
categroyList.Items.Clear(); ///清空树的所有节点
DataRow[] rowList = dataTable.Select("ParentID='-1'");
if(rowList.Length <= 0) return;
///创建、添加根节点
categroyList.Items.Add(new ListItem(rowList[0]["Desn"].ToString(),rowList[0]["CategoryID"].ToString()));
///创建其他节点
CreateChildNode(categroyList,dataTable,Int32.Parse(rowList[0]["CategoryID"].ToString()),nDepth);
}
private void CreateChildNode(DropDownList categroyList,DataTable dataTable,int nParentID,int nDepth)
{
nDepth++;
string sSpace = "";
for(int i = 0; i < nDepth * 2; i++)
{
sSpace += "---";
}
///选择数据时,添加了排序表达式OrderBy
DataRow[] rowList = dataTable.Select("ParentID='" + nParentID.ToString() + "'","OrderBy");
foreach(DataRow row in rowList)
{
///创建新节点
categroyList.Items.Add(new ListItem(sSpace + row["Desn"].ToString(),
row["CategoryID"].ToString()));
///递归调用,创建其他节点
CreateChildNode(categroyList,dataTable,Int32.Parse(row["CategoryID"].ToString()),nDepth);
}
}
public SqlDataReader GetCategorys()
{
///定义类SQLHelper
SQLHelper sqlHelper = new SQLHelper();
///定义保存从数据库获取的结果的DataReader
SqlDataReader dr = null;
try
{
///执行存储过程
sqlHelper.RunProc("Pr_GetCategorys",out dr);
}
catch(Exception ex)
{
///抛出执行数据库异常
SQLHelper.CreateErrorMsg(ex.Message);
throw new Exception(ex.Message,ex);
}
///返回从数据库获取的结果
return (dr);
}
public SqlDataReader GetSubCategorys(int nCategoryID)
{
///定义类SQLHelper
SQLHelper sqlHelper = new SQLHelper();
///定义保存从数据库获取的结果的DataReader
SqlDataReader dr = null;
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID)
};
try
{
///执行存储过程
sqlHelper.RunProc("Pr_GetSubCategorys",paramList,out dr);
}
catch(Exception ex)
{
///抛出执行数据库异常
SQLHelper.CreateErrorMsg(ex.Message);
throw new Exception(ex.Message,ex);
}
///返回从数据库获取的结果
return (dr);
}
public SqlDataReader GetSingleCategory(int nCategoryID)
{
///定义类SQLHelper
SQLHelper sqlHelper = new SQLHelper();
///定义保存从数据库获取的结果的DataReader
SqlDataReader dr = null;
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID)
};
try
{
///执行存储过程
sqlHelper.RunProc("Pr_GetSingleCategory",paramList,out dr);
}
catch(Exception ex)
{
///抛出执行数据库异常
SQLHelper.CreateErrorMsg(ex.Message);
throw new Exception(ex.Message,ex);
}
///返回从数据库获取的结果
return (dr);
}
public int AddCategory(string sDesn,int nParentID,string sRemark)
{
///定义类SQLHelper
SQLHelper sqlHelper = new SQLHelper();
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@Desn",SqlDbType.VarChar,200,sDesn),
sqlHelper.CreateInParam("@ParentID",SqlDbType.Int,4,nParentID),
sqlHelper.CreateInParam("@Remark",SqlDbType.Text,8000,sRemark)
};
try
{
///执行存储过程
return (sqlHelper.RunProc("Pr_AddCategory",paramList));
}
catch(Exception ex)
{
///抛出执行数据库异常
SQLHelper.CreateErrorMsg(ex.Message);
throw new Exception(ex.Message,ex);
}
}
public void UpdateCategory(int nCategoryID,string sDesn,string sRemark)
{
///定义类SQLHelper
SQLHelper sqlHelper = new SQLHelper();
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID),
sqlHelper.CreateInParam("@Desn",SqlDbType.VarChar,200,sDesn),
sqlHelper.CreateInParam("@Remark",SqlDbType.Text,8000,sRemark)
};
try
{
///执行存储过程
sqlHelper.RunProc("Pr_UpdateCategory",paramList);
}
catch(Exception ex)
{
///抛出执行数据库异常
SQLHelper.CreateErrorMsg(ex.Message);
throw new Exception(ex.Message,ex);
}
}
public void UpdateCategoryOrder(int nCategoryID,string sMoveFlag)
{
///定义类SQLHelper
SQLHelper sqlHelper = new SQLHelper();
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID),
sqlHelper.CreateInParam("@MoveFlag",SqlDbType.VarChar,20,sMoveFlag)
};
try
{
///执行存储过程
sqlHelper.RunProc("Pr_UpdateCategoryOrder",paramList);
}
catch(Exception ex)
{
///抛出执行数据库异常
SQLHelper.CreateErrorMsg(ex.Message);
throw new Exception(ex.Message,ex);
}
}
public void DeleteCategory(int nCategoryID)
{
///定义类SQLHelper
SQLHelper sqlHelper = new SQLHelper();
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID)
};
try
{
///执行存储过程
sqlHelper.RunProc("Pr_DeleteCategory",paramList);
}
catch(Exception ex)
{
///抛出执行数据库异常
SQLHelper.CreateErrorMsg(ex.Message);
throw new Exception(ex.Message,ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -