三层模式开发使用GridPanel(.net)控件代码实例详解(展示层代码)

ExtJS中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。
        表格由类Ext.grid.GridPanel定义,继承自Panel,其xtype为grid。ExtJS中,表格Grid必须包含列定义信息,并指定表格的数据存储器Store。表格的列信息由类Ext.grid.ColumnModel定义、而表格的数据存储器由Ext.data.Store定义,数据存储器根据解析的数据不同分为JsonStore、SimpleStroe、GroupingStore等。
但在很多地方的使用都不是详细 下面就针对 这个控件的排序 和列的点击等功能的处理贴出代码
如下图所示:

页面展示的内容(界面没有美化 只是用于功能能的实现)
绿绦工作室

页面中各行各列都可以实现的点击弹出window 控件的效果获取制定列的信息 如图:
绿绦工作室

判断某行 某列的点击 可以控制显示的内容并弹出window控件的效果 如下图:

绿绦工作室

禁止点击的使用 并做逻辑判断后可以实现复杂的其他功能 如下图:

绿绦工作室

但仅仅弹出window控件进行显示;这完全不能满足我们的需要 为此可以在window的空间中在添加按钮 或逻辑控制回传处理 
比如刷新主页 提交 重置等 可能关键还是在于刷新主页的GridPanel 控件值 效果如下:


绿绦工作室

在实际使用中GridPanel这个控件的刷新按钮 的功能需要注意 我们代码的加载的地方是否加了这个验证  if (!Ext.IsAjaxRequest) 

绿绦工作室






这是页面的.aspx的代码

using System;

using System.Data;

using System.Collections.Generic;

using LTP.Common;

using Model;

namespace BLL

{

/// <summary>

/// 业务逻辑类DepartmentBLL 的摘要说明。

/// </summary>

public class DepartmentBLL

{

private readonly DAL.DepartmentDAL dal=new DAL.DepartmentDAL();

public DepartmentBLL()

{}

#region  成员方法

/// <summary>

/// 是否存在该记录

/// </summary>

public bool Exists(string id)

{

return dal.Exists(id);

}

/// <summary>

/// 增加一条数据

/// </summary>

public void Add(Model.DepartmentModel model)

{

dal.Add(model);

}

/// <summary>

/// 更新一条数据

/// </summary>

public void Update(Model.DepartmentModel model)

{

dal.Update(model);

}

/// <summary>

/// 删除一条数据

/// </summary>

public void Delete(string id)

{

dal.Delete(id);

}

/// <summary>

/// 得到一个对象实体

/// </summary>

public Model.DepartmentModel GetModel(string id)

{

return dal.GetModel(id);

}

/// <summary>

/// 得到一个对象实体,从缓存中。

/// </summary>

public Model.DepartmentModel GetModelByCache(string id)

{

string CacheKey = "DepartmentModelModel-" + id;

object objModel = LTP.Common.DataCache.GetCache(CacheKey);

if (objModel == null)

{

try

{

objModel = dal.GetModel(id);

if (objModel != null)

{

int ModelCache = LTP.Common.ConfigHelper.GetConfigInt("ModelCache");

LTP.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);

}

}

catch{}

}

return (Model.DepartmentModel)objModel;

}

/// <summary>

/// 获得数据列表

/// </summary>

public DataSet GetList(string strWhere)

{

return dal.GetList(strWhere);

}

/// <summary>

/// 获得前几行数据

/// </summary>

public DataSet GetList(int Top,string strWhere,string filedOrder)

{

return dal.GetList(Top,strWhere,filedOrder);

}

/// <summary>

/// 获得数据列表

/// </summary>

public List<Model.DepartmentModel> GetModelList(string strWhere)

{

DataSet ds = dal.GetList(strWhere);

return DataTableToList(ds.Tables[0]);

}

/// <summary>

/// 获得数据列表

/// </summary>

public List<Model.DepartmentModel> DataTableToList(DataTable dt)

{

List<Model.DepartmentModel> modelList = new List<Model.DepartmentModel>();

int rowsCount = dt.Rows.Count;

if (rowsCount > 0)

{

Model.DepartmentModel model;

for (int n = 0; n < rowsCount; n++)

{

model = new Model.DepartmentModel();

model.id=dt.Rows[n]["id"].ToString();

model.Departmentname=dt.Rows[n]["Departmentname"].ToString();

if(dt.Rows[n]["TaxationAddressID"].ToString()!="")

{

model.TaxationAddressID=int.Parse(dt.Rows[n]["TaxationAddressID"].ToString());

}

model.Parent=dt.Rows[n]["Parent"].ToString();

model.Telephone=dt.Rows[n]["Telephone"].ToString();

model.Fax=dt.Rows[n]["Fax"].ToString();

model.Address=dt.Rows[n]["Address"].ToString();

model.Emaile=dt.Rows[n]["Emaile"].ToString();

model.Flag=dt.Rows[n]["Flag"].ToString();

model.Status=dt.Rows[n]["Status"].ToString();

if(dt.Rows[n]["UpdateTime"].ToString()!="")

{

model.UpdateTime=DateTime.Parse(dt.Rows[n]["UpdateTime"].ToString());

}

if(dt.Rows[n]["CreateTime"].ToString()!="")

{

model.CreateTime=DateTime.Parse(dt.Rows[n]["CreateTime"].ToString());

}

modelList.Add(model);

}

}

return modelList;

}

/// <summary>

/// 获得数据列表

/// </summary>

public DataSet GetAllList()

{

return GetList("");

}

/// <summary>

/// 获得数据列表

/// </summary>

//public DataSet GetList(int PageSize,int PageIndex,string strWhere)

//{

//return dal.GetList(PageSize,PageIndex,strWhere);

//}

#endregion  成员方法

}

}


这是.cs文件代码 

using System;

using System.Data;

using System.Text;

using System.Data.SqlClient;

using Maticsoft.DBUtility;//请先添加引用

namespace DAL

{

/// <summary>

/// 数据访问类DepartmentDAL。

/// </summary>

public class DepartmentDAL

{

public DepartmentDAL()

{}

#region  成员方法

/// <summary>

/// 是否存在该记录

/// </summary>

public bool Exists(string id)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("select count(1) from Department");

strSql.Append(" where id=@id ");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbType.VarChar,50)};

parameters[0].Value = id;

return DbHelperSQL.Exists(strSql.ToString(),parameters);

}

/// <summary>

/// 增加一条数据

/// </summary>

public void Add(Model.DepartmentModel model)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("insert into Department(");

strSql.Append("id,Departmentname,TaxationAddressID,Parent,Telephone,Fax,Address,Emaile,Flag,Status,UpdateTime,CreateTime)");

strSql.Append(" values (");

strSql.Append("@id,@Departmentname,@TaxationAddressID,@Parent,@Telephone,@Fax,@Address,@Emaile,@Flag,@Status,@UpdateTime,@CreateTime)");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbType.VarChar,50),

new SqlParameter("@Departmentname", SqlDbType.VarChar,500),

new SqlParameter("@TaxationAddressID", SqlDbType.Int,4),

new SqlParameter("@Parent", SqlDbType.VarChar,50),

new SqlParameter("@Telephone", SqlDbType.VarChar,50),

new SqlParameter("@Fax", SqlDbType.VarChar,50),

new SqlParameter("@Address", SqlDbType.VarChar,2000),

new SqlParameter("@Emaile", SqlDbType.VarChar,100),

new SqlParameter("@Flag", SqlDbType.VarChar,50),

new SqlParameter("@Status", SqlDbType.VarChar,50),

new SqlParameter("@UpdateTime", SqlDbType.DateTime),

new SqlParameter("@CreateTime", SqlDbType.DateTime)};

parameters[0].Value = model.id;

parameters[1].Value = model.Departmentname;

parameters[2].Value = model.TaxationAddressID;

parameters[3].Value = model.Parent;

parameters[4].Value = model.Telephone;

parameters[5].Value = model.Fax;

parameters[6].Value = model.Address;

parameters[7].Value = model.Emaile;

parameters[8].Value = model.Flag;

parameters[9].Value = model.Status;

parameters[10].Value = model.UpdateTime;

parameters[11].Value = model.CreateTime;

DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

}

/// <summary>

/// 更新一条数据

/// </summary>

public void Update(Model.DepartmentModel model)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("update Department set ");

strSql.Append("Departmentname=@Departmentname,");

strSql.Append("TaxationAddressID=@TaxationAddressID,");

strSql.Append("Parent=@Parent,");

strSql.Append("Telephone=@Telephone,");

strSql.Append("Fax=@Fax,");

strSql.Append("Address=@Address,");

strSql.Append("Emaile=@Emaile,");

strSql.Append("Flag=@Flag,");

strSql.Append("Status=@Status,");

strSql.Append("UpdateTime=@UpdateTime,");

strSql.Append("CreateTime=@CreateTime");

strSql.Append(" where id=@id ");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbType.VarChar,50),

new SqlParameter("@Departmentname", SqlDbType.VarChar,500),

new SqlParameter("@TaxationAddressID", SqlDbType.Int,4),

new SqlParameter("@Parent", SqlDbType.VarChar,50),

new SqlParameter("@Telephone", SqlDbType.VarChar,50),

new SqlParameter("@Fax", SqlDbType.VarChar,50),

new SqlParameter("@Address", SqlDbType.VarChar,2000),

new SqlParameter("@Emaile", SqlDbType.VarChar,100),

new SqlParameter("@Flag", SqlDbType.VarChar,50),

new SqlParameter("@Status", SqlDbType.VarChar,50),

new SqlParameter("@UpdateTime", SqlDbType.DateTime),

new SqlParameter("@CreateTime", SqlDbType.DateTime)};

parameters[0].Value = model.id;

parameters[1].Value = model.Departmentname;

parameters[2].Value = model.TaxationAddressID;

parameters[3].Value = model.Parent;

parameters[4].Value = model.Telephone;

parameters[5].Value = model.Fax;

parameters[6].Value = model.Address;

parameters[7].Value = model.Emaile;

parameters[8].Value = model.Flag;

parameters[9].Value = model.Status;

parameters[10].Value = model.UpdateTime;

parameters[11].Value = model.CreateTime;

DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

}

/// <summary>

/// 删除一条数据

/// </summary>

public void Delete(string id)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("delete from Department ");

strSql.Append(" where id=@id ");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbType.VarChar,50)};

parameters[0].Value = id;

DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

}

/// <summary>

/// 得到一个对象实体

/// </summary>

public Model.DepartmentModel GetModel(string id)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("select  top 1 id,Departmentname,TaxationAddressID,Parent,Telephone,Fax,Address,Emaile,Flag,Status,UpdateTime,CreateTime from Department ");

strSql.Append(" where id=@id ");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbType.VarChar,50)};

parameters[0].Value = id;

Model.DepartmentModel model=new Model.DepartmentModel();

DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters);

if(ds.Tables[0].Rows.Count>0)

{

model.id=ds.Tables[0].Rows[0]["id"].ToString();

model.Departmentname=ds.Tables[0].Rows[0]["Departmentname"].ToString();

if(ds.Tables[0].Rows[0]["TaxationAddressID"].ToString()!="")

{

model.TaxationAddressID=int.Parse(ds.Tables[0].Rows[0]["TaxationAddressID"].ToString());

}

model.Parent=ds.Tables[0].Rows[0]["Parent"].ToString();

model.Telephone=ds.Tables[0].Rows[0]["Telephone"].ToString();

model.Fax=ds.Tables[0].Rows[0]["Fax"].ToString();

model.Address=ds.Tables[0].Rows[0]["Address"].ToString();

model.Emaile=ds.Tables[0].Rows[0]["Emaile"].ToString();

model.Flag=ds.Tables[0].Rows[0]["Flag"].ToString();

model.Status=ds.Tables[0].Rows[0]["Status"].ToString();

if(ds.Tables[0].Rows[0]["UpdateTime"].ToString()!="")

{

model.UpdateTime=DateTime.Parse(ds.Tables[0].Rows[0]["UpdateTime"].ToString());

}

if(ds.Tables[0].Rows[0]["CreateTime"].ToString()!="")

{

model.CreateTime=DateTime.Parse(ds.Tables[0].Rows[0]["CreateTime"].ToString());

}

return model;

}

else

{

return null;

}

}

/// <summary>

/// 获得数据列表

/// </summary>

public DataSet GetList(string strWhere)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("select id,Departmentname,TaxationAddressID,Parent,Telephone,Fax,Address,Emaile,Flag,Status,UpdateTime,CreateTime ");

strSql.Append(" FROM Department ");

if(strWhere.Trim()!="")

{

strSql.Append(" where "+strWhere);

}

return DbHelperSQL.Query(strSql.ToString());

}

/// <summary>

/// 获得前几行数据

/// </summary>

public DataSet GetList(int Top,string strWhere,string filedOrder)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("select ");

if(Top>0)

{

strSql.Append(" top "+Top.ToString());

}

strSql.Append(" id,Departmentname,TaxationAddressID,Parent,Telephone,Fax,Address,Emaile,Flag,Status,UpdateTime,CreateTime ");

strSql.Append(" FROM Department ");

if(strWhere.Trim()!="")

{

strSql.Append(" where "+strWhere);

}

strSql.Append(" order by " + filedOrder);

return DbHelperSQL.Query(strSql.ToString());

}

/*

/// <summary>

/// 分页获取数据列表

/// </summary>

public DataSet GetList(int PageSize,int PageIndex,string strWhere)

{

SqlParameter[] parameters = {

new SqlParameter("@tblName", SqlDbType.VarChar, 255),

new SqlParameter("@fldName", SqlDbType.VarChar, 255),

new SqlParameter("@PageSize", SqlDbType.Int),

new SqlParameter("@PageIndex", SqlDbType.Int),

new SqlParameter("@IsReCount", SqlDbType.Bit),

new SqlParameter("@OrderType", SqlDbType.Bit),

new SqlParameter("@strWhere", SqlDbType.VarChar,1000),

};

parameters[0].Value = "Department";

parameters[1].Value = "ID";

parameters[2].Value = PageSize;

parameters[3].Value = PageIndex;

parameters[4].Value = 0;

parameters[5].Value = 0;

parameters[6].Value = strWhere;

return DbHelperSQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");

}*/

#endregion  成员方法

}

}



三层模式开发使用GridPanel(.net)控件代码实例详解 打包下载  gridpanel使用window的示例 

不包含数据库文件  需要数据库文件请点击此处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值