当前位置:  编程技术>综合
本页文章导读:
    ▪sharepoint 2010 自定义列表启用版本记录控制 如何在修改数据不产生新版本      在sharepoint 2010 中,我们对条目item的数据进行修改时,首先需要将web.AllowUnsafeUpdates这个属性设置为true,也就是web.AllowUnsafeUpdates = true; 接下来就是对item的项进行赋值,例如item["columnname&qu.........
    ▪解决UIScrollView截获touch事件的一个极其简单有效的办法      当UIScrollView将touch事件截获时,我们可以要写个UIScrollView的类别,把事件从UIScrollView传出去! @implementation UIScrollView (UITouch) - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { //if(!self.dragging.........
    ▪Chain of Responsibility -- 责任链模式      在软件构建构成中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接收者,如果显示指定,将必不可少地带来请求发送者与接收者的紧密耦合。COR(Chain of Reposibility)设计模.........

[1]sharepoint 2010 自定义列表启用版本记录控制 如何在修改数据不产生新版本
    来源: 互联网  发布时间: 2014-02-18

在sharepoint 2010 中,我们对条目item的数据进行修改时,首先需要将web.AllowUnsafeUpdates这个属性设置为true,也就是web.AllowUnsafeUpdates = true;

接下来就是对item的项进行赋值,例如item["columnname"]="value1";最后就是item.Update();

这样我们就完成了对一个条目item的数据修改。

然而前天发现了一个很严重的问题,当我们启动了版本控制之后,每当修改一次,就会产生一个新版本,并且把当前版本变成草稿或者待定状态,想了很久,最后发现item里面有两个update的方法,一个是item.Update(),另一个是item.SystemUpdate(false);这两种方法,都能够实现对数据进行修改,同时也有区别,

item.Update()是会产生新版本,item.SystemUpdate(false)则不会有新版本。

下面是不产生新版本的一个实例:

SPWeb web = SPContext.Current.Web;
web.AllowUnsafeUpdates = true;
 SPList list = web.Lists["我的文档"];
SPListItem item = list.GetItemById(7);
item["字段名称"] = "6";
item.SystemUpdate(false);

广州京微信息科技有限公司,微软sharepoint解决方案提供商。

作者:cxx2325938 发表于2013-1-14 9:51:36 原文链接
阅读:57 评论:0 查看评论

    
[2]解决UIScrollView截获touch事件的一个极其简单有效的办法
    来源: 互联网  发布时间: 2014-02-18
当UIScrollView将touch事件截获时,我们可以要写个UIScrollView的类别,把事件从UIScrollView传出去!
@implementation UIScrollView (UITouch)
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //if(!self.dragging)
    {
        [[self nextResponder] touchesBegan:touches withEvent:event];
    }
    [super touchesBegan:touches withEvent:event];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    //if(!self.dragging)
    {
        [[self nextResponder] touchesMoved:touches withEvent:event];
    }
    [super touchesMoved:touches withEvent:event];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    //if(!self.dragging)
    {
        [[self nextResponder] touchesEnded:touches withEvent:event];
    }
    [super touchesEnded:touches withEvent:event];
}
@end

然后重写nextResponder的touch方法就可以了。


作者:gghu1986 发表于2013-1-14 9:51:25 原文链接
阅读:41 评论:0 查看评论

    
[3]Chain of Responsibility -- 责任链模式
    来源: 互联网  发布时间: 2014-02-18

在软件构建构成中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接收者,如果显示指定,将必不可少地带来请求发送者与接收者的紧密耦合。COR(Chain of Reposibility)设计模式可以使请求的发送者不需要指定具体的接收者,让请求的接收者自己在运行时决定来处理请求,从而使两者解耦。

使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象对应它为止。
“Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.” - GoF

实例解析
例如就拿我们工作中的事情来说,就拿报销来说,一个组长的审批权力为500元及其以下,他都可以处理这些报销请求,当超过500元时候,他就没有权利审批了,就需要到部门经理那里了,经理可以审批5000元及其以下,如果超过5000元就需要找公司副经理了,他可以审批50000元及其以下了,当超过50000元,就需要找公司经理来审批了,这里假定是500000元,好吧你如果说超过了5000000元,怎么办?我想国内还没有公司愿意为你报500000元,再说你自己也不愿意拿500000元出来先垫着。好了这里不考虑超过500000元的情况,那么我们通过责任链模式来实现这一场景吧。
那么先做一个表格
级别 权限 组长 500元 部门经理 5000元 公司副经理 50000元 公司经理 500000元
#include <iostream>

class Request
{
    public:
        Request(double m)
        :money(m)
        {};
        double getMoney(){return money;}
    private:
        double money;  
};

class IHandle
{
    public:
        IHandle(IHandle *p)
        :nextHandle(p)
        {}
        virtual bool IsAuthority(Request r)=0;
        virtual void doHandle(Request r)=0;
    protected:
        IHandle * nextHandle;
    
};

class headmanHandle:public IHandle
{
    public:
        headmanHandle(IHandle *p)
        :IHandle(p)
        {}
        bool IsAuthority(Request r);
        void doHandle(Request r);
};
bool headmanHandle::IsAuthority(Request r)
{
    if(r.getMoney()>500)return false;
    else return true;
}
void headmanHandle::doHandle(Request r)
{
    if(IsAuthority(r))
    {
        std::cout<<"The headman do the request,which the request money is"<<r.getMoney()<<std::endl;
    }
    else
    {
        nextHandle->doHandle(r);
    }
}


class DepartmentMHandle:public IHandle
{
    public:
        DepartmentMHandle(IHandle *p)
        :IHandle(p)
        {}
        bool IsAuthority(Request r);
        void doHandle(Request r);
};
bool DepartmentMHandle::IsAuthority(Request r)
{
    if(r.getMoney()>5000)return false;
    else return true;
}
void DepartmentMHandle::doHandle(Request r)
{
    if(IsAuthority(r))
    {
        std::cout<<"The department manager do the request,which the request money is"<<r.getMoney()<<std::endl;
    }
    else
    {
        nextHandle->doHandle(r);
    }
}


class CompanyDMHandle:public IHandle
{
    public:
        CompanyDMHandle(IHandle *p)
        :IHandle(p)
        {}
        bool IsAuthority(Request r);
        void doHandle(Request r);
};
bool CompanyDMHandle::IsAuthority(Request r)
{
    if(r.getMoney()>50000)return false;
    else return true;
}
void CompanyDMHandle::doHandle(Request r)
{
    if(IsAuthority(r))
    {
        std::cout<<"The company deputy manager do the request,which the request money is"<<r.getMoney()<<std::endl;
    }
    else
    {
        nextHandle->doHandle(r);
    }
}


class CompanyMHandle:public IHandle
{
    public:
        CompanyMHandle(IHandle *p)
        :IHandle(p)
        {}
        bool IsAuthority(Request r);
        void doHandle(Request r);
};
bool CompanyMHandle::IsAuthority(Request r)
{
    if(r.getMoney()>500000)return false;
    else return true;
}
void CompanyMHandle::doHandle(Request r)
{
    if(IsAuthority(r))
    {
        std::cout<<"The company manager do the request,which the request money is "<<r.getMoney()<<std::endl;
    }
    else
    {
        std::cout<<"You are the boss of thie company!Because you use up"<<r.getMoney()<<std::endl;
    }
}

int main(int argc,char ** argv)
{
    IHandle *p4=new CompanyMHandle(NULL);
    IHandle *p3=new CompanyDMHandle(p4);
    IHandle *p2=new DepartmentMHandle(p3);
    IHandle *p1=new headmanHandle(p2);
    Request r1(300);
    Request r2(3000);
    Request r3(30000);
    Request r4(300000);
    Request r5(3000000);
    p1->doHandle(r1);
    p1->doHandle(r2);
    p1->doHandle(r3);
    p1->doHandle(r4);
    p1->doHandle(r5);
    delete p1;
    delete p2;
    delete p3;
    delete p4;
    return 0;
}

运行结果为


如果有兴趣可以继续浏览该系列文章:
singleton pattern--单件模式

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
编程技术其它 iis7站长之家
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3