多个字段的比较问题。

QQQQAnnie 2009-07-21 09:26:54
有两百来个字段,要求是修改的时候字段进行比较,

如果不一样的话,把这个字段对应的数据字体颜色改变。

除了最笨的办法外还有其它办法么?
...全文
152 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQQQAnnie 2009-07-24
  • 打赏
  • 举报
回复
经过同事的帮忙,已解决.

说一下大体思路,

1.改变的数据比较出来,字段名放到数组里,(name:txt; is:chb...)
2.控件名的命名是由txt + 字段名,chb + 字段名...
3.循环数组,再建立一新数组,如果前两字符是is ,chb+字段名放到新数组里,else txt+字段名.(关键)
3.建立一个表,把改变的字段名(新数组)添加到表里
4.循环,表里存的字段名等于控件ID,改变样式.
5.OK.
wxdxy 2009-07-21
  • 打赏
  • 举报
回复
用循环比较,datatable有改变前后的值,数据库的触发器也有这个功能
QQQQAnnie 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 pig23 的回复:]
我想知道最笨的方法是什么
[/Quote]

一个个比较
Pig23 2009-07-21
  • 打赏
  • 举报
回复
我想知道最笨的方法是什么
cpp2017 2009-07-21
  • 打赏
  • 举报
回复
循环还是要循环,没有简单的办法。可以放在保存数据的地方去做。为了避免两次循环(保存时,显示时)

可以保存时判断两个值是否相等,然后改动状态放在一个二维数组中
QQQQAnnie 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 cpp2017 的回复:]
如果修改多次呢?第二次修改,第一次修改的内容是不是还变红呢?
[/Quote]

不变了,只和最近一次进行比较.
cpp2017 2009-07-21
  • 打赏
  • 举报
回复
如果修改多次呢?第二次修改,第一次修改的内容是不是还变红呢?
haonanxxx 2009-07-21
  • 打赏
  • 举报
回复
现在比较忙,后头看。
zhongxingqiche 2009-07-21
  • 打赏
  • 举报
回复
在表中加入一个标识的字段.改变该字段的值就行了.
haonanxxx 2009-07-21
  • 打赏
  • 举报
回复
table+ server control

”server control“:是指的撒控件?
QQQQAnnie 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 haonanxxx 的回复:]
引用 9 楼 qqqqannie 的回复:
引用 8 楼 haonanxxx 的回复:

你显示数据用的是repeater吧?或者其他的什么数据控件吧?

现在你如果修改了email这个字段,很明显,你可以找到它所在的列,或者说”单元格“;
将这个“单元格”的样式设为红色就可以了。
[/Quote]

我没有用repeater,就是table+ server control.
haonanxxx 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 qqqqannie 的回复:]
引用 8 楼 haonanxxx 的回复:
lz的问题是不需要任何比较的。


为什么这么说呢,不比较怎么知道那个数据修改过呢.
[/Quote]

你显示数据用的是repeater吧?或者其他的什么数据控件吧?
比如你修改了email字段,但是这个红色持续多久咧,下次再次修改了
显示成什么颜色也!。。这个先不讨论哈。

现在你如果修改了email这个字段,很明显,你可以找到它所在的列,或者说”单元格“;
将这个“单元格”的样式设为红色就可以了。
QQQQAnnie 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 haonanxxx 的回复:]
lz的问题是不需要任何比较的。
[/Quote]

为什么这么说呢,不比较怎么知道那个数据修改过呢.
haonanxxx 2009-07-21
  • 打赏
  • 举报
回复
lz的问题是不需要任何比较的。
  • 打赏
  • 举报
回复
加个flag吧,修改后改变flag的值
haonanxxx 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sayluyun 的回复:]
引用 3 楼 haonanxxx 的回复:
你可以这样比较:你用一个字段去匹配另一组,如果相同了,马上break;然后用变量保存起来,然后匹配下一个直到结束,我想了下,时间上也要不是多久,而且应该是比较快的。

  这样的效率不是很高吧··
[/Quote]

你只匹配字段名,也就是一个200个字段的数组!但是不是每个字段都匹配200次撒?也许是10次,20次的。
不过,楼主不是这个意思。我也理解错了。

但是修改的同时,就修改样式是可以办到的。
sayluyun 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 haonanxxx 的回复:]
你可以这样比较:你用一个字段去匹配另一组,如果相同了,马上break;然后用变量保存起来,然后匹配下一个直到结束,我想了下,时间上也要不是多久,而且应该是比较快的。
[/Quote]
这样的效率不是很高吧··
haonanxxx 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qqqqannie 的回复:]
晕.看来我的表达是有问题.

就是修改的时候,比如:

name,sex,phone,address,email ...

我修改了address 和 email 两个数据.

再次进入到编辑页面
address 和 email 数据字体变成红色.
[/Quote]

我晕这样啊?这个你改变的同时就改变样式啊??????
haonanxxx 2009-07-21
  • 打赏
  • 举报
回复
你可以这样比较:你用一个字段去匹配另一组,如果相同了,马上break;然后用变量保存起来,然后匹配下一个直到结束,我想了下,时间上也要不是多久,而且应该是比较快的。
QQQQAnnie 2009-07-21
  • 打赏
  • 举报
回复
晕.看来我的表达是有问题.

就是修改的时候,比如:

name,sex,phone,address,email ...

我修改了address 和 email 两个数据.

再次进入到编辑页面
address 和 email 数据字体变成红色.
加载更多回复(1)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧