当前位置: 首页 > news >正文

网站内容好国家通建设通网站

网站内容好,国家通建设通网站,广州网站建设公司,wordpress 用户注册 插件根据上面一篇随笔所介绍的PC购买流程的项目#xff0c;在项目中#xff0c;需要有一个生成订单的功能#xff0c;能够使得Admin很方便的在获得批准的申请中选取一些来生成订单#xff0c;要求界面操作简单明了#xff0c;大概的效果图如下#xff1a; 点击checkbox#…根据上面一篇随笔所介绍的PC购买流程的项目在项目中需要有一个生成订单的功能能够使得Admin很方便的在获得批准的申请中选取一些来生成订单要求界面操作简单明了大概的效果图如下 点击checkbox自动计算当前订单的总价值点击按钮生成订单。 有此想到了用SPGridView这个现成的控件来完成以前也用过这个控件其实和GridView没什么大区别。这里就简单介绍一下了 首先Create 一个WebPart 在CreateChildControls()中可以设置SPGridView 的数据源和属性添加Field等等。 但是CheckBox这一列必须自己自定义一个模板类来生成下面是我们自定义的CheckBox模板类它实现了ITemplate接口: 代码 class CheckBoxTemplateField:ITemplate     {         string id;         public EventHandler OnCheck  null;         public CheckBoxTemplateField(string chbId, EventHandler checkEvent)         {             id  chbId;             OnCheck  checkEvent;         }                  public void InstantiateIn(System.Web.UI.Control container)         {             CheckBox chb  new CheckBox();             chb.AutoPostBack  true;             chb.ID  id;             chb.CheckedChanged  OnCheck;             container.Controls.Add(chb);         }     } 这样就可以在SPGridView中调用这个模板类并且为Oncheck事件提供处理方法 代码 protected override void CreateChildControls()         {             if (!_error)             {                 try                 {                     SPList sourceList  SPContext.Current.Web.Lists[Purchase Request];                     dataSource  new SPDataSource();                     this.Controls.Add(dataSource);                     dataSource.List  sourceList;                     gridView  new SPGridView();                     gridView.AutoGenerateColumns  false; TemplateField chbField  new TemplateField();                     chbField.HeaderText  ;                     EventHandler onCheck  new EventHandler(OnCheck);                     chbField.ItemTemplate  new CheckBoxTemplateField(chb, onCheck);                     gridView.Columns.Add(chbField); 当我们提供了所以的Field绑定后需要指定一列为Group列我们这里指定了Team列: 代码 SPBoundField createdField  CreateNewBoundField(Created, Created, 0);                     gridView.Columns.Add(createdField); SPBoundField applicantField  CreateNewBoundField(Created By, Created By, 0);                     gridView.Columns.Add(applicantField); SPBoundField mtField  CreateNewBoundField(Machine Type, Machine Type, 0);                     gridView.Columns.Add(mtField); SPBoundField compField  CreateNewBoundField(Component Type, Component Type, 0);                     gridView.Columns.Add(compField); SPBoundField purNumField  CreateNewBoundField(Purchase Number, Purchase Number, 0);                     gridView.Columns.Add(purNumField); SPBoundField purReasonField  CreateNewBoundField(Purchase Reason, Purchase Reason, 0);                     gridView.Columns.Add(purReasonField); SPBoundField mgrAppField  CreateNewBoundField(Manager Approval, Manager Approval, 0);                     gridView.Columns.Add(mgrAppField); SPBoundField drtAppField  CreateNewBoundField(Director Approval, Director Approval, 0);                     gridView.Columns.Add(drtAppField); SPBoundField priceField  CreateNewBoundField(Total Price, Total Price, 0);                     gridView.Columns.Add(priceField); gridView.AllowGrouping  true;                     gridView.AllowGroupCollapse  true;                     gridView.GroupField  Team;                     gridView.GroupFieldDisplayName  Team; 但是Team这个Field在数据源的List中是Lookup类型的如果不作处理那么显示的结果将会是Team23;#SharePoint Test,即 连lookupid也显示出来了这里我们需要在数据绑定的时候作处理为此我们添加了gridView.RowDataBound new GridViewRowEventHandler(gridView_RowDataBound)这个事件gridView_RowDataBound的代码如下 代码 void gridView_RowDataBound(object sender, GridViewRowEventArgs e)         {             if (e.Row.RowType  DataControlRowType.DataRow)             {                 if ((sender as SPGridView).AllowGrouping)                 {                     SPGridViewRow gridViewRow  e.Row as SPGridViewRow;                     if (gridViewRow ! null  gridViewRow.HeaderText ! null)                     {                         gridViewRow.HeaderText  Team :   new SPFieldLookupValue(DataBinder.GetPropertyValue(e.Row.DataItem, (sender as SPGridView).GroupField).ToString()).LookupValue;                     }                 }             }         } 这样确保我们在SPGridView中做Groupby时显示的只是LookupValue而非LookupId;#LookUpValue的形式。 另外我们可以通过设置SPGridView的DataKeyNames为各行保存一些我们可能需要的信息例如 gridView.DataKeyNames new string[] { ID, Team, Created By, Total Price, Machine Type, Component Type, Purchase Number, Shipped Order }; 如下就可以使用这些数据 gridView.DataKeys[row.RowIndex].Values[Machine Type].ToString(); 我们用SPGridView作为WebPart开发的时候还遇到了一个问题就是一访问SharePoint的Session页面就报异常。但是在代码中并为出现异常检查了Web.config文件发现HttpModule中也加了Session ModulePage节点中也Enable了Session, 至今未能找出原因后来不得已用了Context.Cache来代替希望各位看官有知道原因的还请不吝赐教。谢谢拉 SPGridView使用不复杂关键还在于理清楚项目中的业务逻辑选择合适的Solution来解决问题。
http://www.pierceye.com/news/151107/

相关文章:

  • com是什么网站网络科技公司可以去吗
  • 抖音创作者服务平台上海seo培训中心
  • 自己做网站app甘肃网站域名申请公司
  • 电子商务网站开发的课程介绍2023年新闻摘抄
  • 合肥如何做百度的网站推广百度知道官网首页登录入口
  • 织梦网站怎么做二级域名广州做网站费用
  • 湖南的商城网站建设网站建设与管理专业就业
  • 诸城企业网站建设wordpress经典编辑器插件
  • 做视频播放网站 赚钱全国建筑网站
  • 网站建站要多少钱2021安全员证报名入口
  • 成都建设网站那家好vs2019可以做网站吗
  • 个人网站开发教程济南高新网站制作
  • 中国空间站最新进展欧泰国际物流网站
  • 做淘宝链接网站成都网站建设 3e网络
  • 兰州中川国际机场t3航站楼vue单页面做网站加载慢
  • 公司网站制作费用申请泸州网站建设公司
  • 专业网络优化有名的seo外包公司
  • 宿迁网站建设制作湖南常德邮编
  • 网站制作方案电子商务网站建设与维护的主要内容
  • 网站淘宝客怎么做的建网站前途
  • 宁波网站开发服务网页制作技巧
  • 中医网站风格网络规划设计师2022论文5月
  • 网站主办者单位有效证件电子件是什么怎么做免费的产品网站
  • 设计素材网站好融资吗网站设计需要需要用
  • 北京品牌营销的服务机构sem和seo有什么区别
  • 注册企业网站上海人才中心档案托管
  • 建设银行的网站为什么登不上公司员工培训方案
  • 网站形式wordpress 顶部工具栏
  • 网站前后台修改wordpress用户密码
  • 微信 公司网站 怎么做手机端视频网站模板下载