winform 如何判断list结果集里面的值是否发生了变化(可能是被修改或者是被删除)

privatevoidfunction(){//给list赋值}timer事件{如果list的值没有变就不调用上面的方法,否则调用}... private void function()
{
//给list赋值
}
timer事件
{
如果list的值没有变就不调用上面的方法,否则调用
}
展开
 我来答
真爱无限023
推荐于2018-04-05 · TA获得超过138个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:105万
展开全部
// 你得定义另外一个list1 用来做对比
function()
{
//给list1赋值
list1=list1;
}
timer事件
{
if(list1!=list )
{
function();
}
}

// list值是在其它地方改变。
追问
list要在哪里改变?否则的话一直都相等
追答
要在哪里改变,那要看你的需求了,那你原来那个判断list值是否改变是干什么的?
你还这样问我,那你原来的代码中,list不是一直都没变了,那还要循环判断干嘛 ?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z1h2p31983
2012-09-26 · TA获得超过251个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:154万
展开全部
这个问题你怎么转不过弯来呢?你设一个是否修改或删除的标识变量,例如 bool IsChanged=false;
你在要修改或删除list的操作的时候 IsChanged=true;
然后在timer事件中作如下判断
if (IsChanged){
function();
}
else{
//执行其它操作
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李丶沐寒
2012-09-21
知道答主
回答量:11
采纳率:0%
帮助的人:6.3万
展开全部
你试着比对一下当前list的值和原来的值,一样的话就是没变,就不用调用该方法,如果不一样就是改变了,然后调用你的方法
追问
关键是怎样比对呀、
追答
如果list是动态生成的,你就把当前的list子项个数和数据库中取出来的个数比较,看是否删除了,如果是自己添加的,那就直接把当前的值和你填入的时候的值作比较。具体代码怎么写都行,关键是思路
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路有时不在脚下
2012-09-21 · 超过25用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:34.6万
展开全部
没有直接的方法可用,(另外加个标识,标识当前集合的状态,也可以标识集合里每个元素的状态,看你想掌握的准确程度,可以灵活使用)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT学习中
2012-09-23 · 超过24用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:73.5万
展开全部
用session保持一个list,在timer事件中拿出来比对原来的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式