winform 如何判断list结果集里面的值是否发生了变化(可能是被修改或者是被删除)
privatevoidfunction(){//给list赋值}timer事件{如果list的值没有变就不调用上面的方法,否则调用}...
private void function()
{
//给list赋值
}
timer事件
{
如果list的值没有变就不调用上面的方法,否则调用
} 展开
{
//给list赋值
}
timer事件
{
如果list的值没有变就不调用上面的方法,否则调用
} 展开
5个回答
展开全部
// 你得定义另外一个list1 用来做对比
function()
{
//给list1赋值
list1=list1;
}
timer事件
{
if(list1!=list )
{
function();
}
}
// list值是在其它地方改变。
function()
{
//给list1赋值
list1=list1;
}
timer事件
{
if(list1!=list )
{
function();
}
}
// list值是在其它地方改变。
追问
list要在哪里改变?否则的话一直都相等
追答
要在哪里改变,那要看你的需求了,那你原来那个判断list值是否改变是干什么的?
你还这样问我,那你原来的代码中,list不是一直都没变了,那还要循环判断干嘛 ?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题你怎么转不过弯来呢?你设一个是否修改或删除的标识变量,例如 bool IsChanged=false;
你在要修改或删除list的操作的时候 IsChanged=true;
然后在timer事件中作如下判断
if (IsChanged){
function();
}
else{
//执行其它操作
}
你在要修改或删除list的操作的时候 IsChanged=true;
然后在timer事件中作如下判断
if (IsChanged){
function();
}
else{
//执行其它操作
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试着比对一下当前list的值和原来的值,一样的话就是没变,就不用调用该方法,如果不一样就是改变了,然后调用你的方法
追问
关键是怎样比对呀、
追答
如果list是动态生成的,你就把当前的list子项个数和数据库中取出来的个数比较,看是否删除了,如果是自己添加的,那就直接把当前的值和你填入的时候的值作比较。具体代码怎么写都行,关键是思路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有直接的方法可用,(另外加个标识,标识当前集合的状态,也可以标识集合里每个元素的状态,看你想掌握的准确程度,可以灵活使用)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用session保持一个list,在timer事件中拿出来比对原来的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询