摘要:
这两天捣鼓Winform的TreeView时遇到一个很纠结的问题: 我的TreeView是带有CheckBox的级联树,单击父节点的时候,子节点也会发生相应的变化 遇到的问题是 当发生双击事件时,被点击的节点状态变化了两次,一切正常。但是其他节点却只变化了一次。 下断点仔细检查后发现,虽然是双击 但是AfterCheck事件却只触发一次。。 后来上网查过之后得知这是Win7和Vista下的操作系统Bug,解决方法是写一个自定义的TreeView类,并覆盖一个方法using System;using System.Windows.Forms;public class MyTreeView : T 阅读全文
摘要:
zoom在FF下是不支持的。zoom可以设置四种值:"document","reset",initial", 对于IE6、IE7、IE8浏览器,经常会遇到一些问题,可以使用zoom:1来解决,有如下作用:触发IE浏览器的haslayout解决ie下的浮动,margin重叠等一些问题。在Chrome下还有个功能:当页面加载后,如下设置<script> window.onload = function() { document.body.style.zoom = "document"; };</script&g 阅读全文
摘要:
scrollHeight与scrollWidthChrome下body的这两个属性与其他元素有差异。当页面的height body.clientHeight时,body.scrollHeight不是body的滚动高度,而是整个页面的高度而且在IE下,如果没有设置body的宽高样式,那么scrollHeight等于body内部元素所占高度。IE6下 无法被其他元素覆盖(通过z-index)font-size:13px在IE6下无效,但font-size:12px等等却可以解决“高度塌陷”的方案 Sgfasd fashdsss dssssss ghfasdfsdfSSSDF SSS df ... 阅读全文
摘要:
很早开始就想用WebSocket完成即时消息推送功能。之前本打算用WebSocket + C#实现的,结果人上了年纪变笨了,弄了一天也没弄好 ⊙﹏⊙今天参考了几篇资料,终于搞定了一个Socket.IO结合nodeJs的Demo。用Socket.IO有个很大的好处就是开发者不需要去关心浏览器差异。Chrome下会用WebSocket,如果是用的IE它就会轮询。nodeJs的环境搭建之类的知识这里就不提了,暂提供一个入门的文章:Node入门,Socket.IO的官网再推荐一篇不错的外文:Comet and Socket.io deployment后台代码 server.jsvar fs = req 阅读全文
摘要:
方法一 通过GridView(简评:方法比较简单,但是只适合生成格式简单的Excel,且无法保留VBA代码),页面无刷新 aspx.cs部分 aspx部分 在刚才的aspx.cs代码中 这部分是给表头添加样式。 有时候为了便于浏览,需要给交叉行添加样式,简单点的可以用下面这种: 但是细看一下会发现它 阅读全文
摘要:
到目前为止,已经对MVVM模式如何帮自己整洁的管理针对动态UI的客户端代码,以及Knockout的可监听、绑定、依赖的工作方式有了很好的理解。在绝大部分的Web应用中,你需要从服务器获取数据,再将修改后数据返回。因为Knockout是一个纯客户端库,它能灵活的与各种服务器端技术(ASP.NET,Rails,PHP...)和任何架构模式,数据库合作。只要服务器端能收发JSON格式数据(so easy),我们就可以使用这种技术。例子情景google的Tasks应该很多人都用过吧。我们也来尝试一个。View Code <!DOCTYPE HTML><html><head 阅读全文
摘要:
IE6下的select 的 z-index始终高于其他元素,即无法被其他元素覆盖住。解决方法:JQueryUI的做法是在IE6下当触发弹出层时,将想覆盖住的select隐藏在IE7及以下 虽然disabled 对select能起作用,但对select下的option却无效。解决方法通常是判断浏览器,如果是IE7以下的话,则当change和focus时改变option颜色和并且点击“无效”的option后 select选中的项值不变化//判断是否是IE7以下浏览器if (navigator.appVersion.indexOf("MSIE 5.5") >= 0 || n 阅读全文
摘要:
创建自定义绑定在Knockout对MVVM的解释中,绑定是连接View和ViewModel的中介。他们(绑定)可以执行双向更新: ①绑定会监听ViewModel(可以理解为数据)的变化,并对应的更新View的DOM。 ②绑定会捕获DOM的事件并相应的更新ViewModel的属性(数据)。Knockout 有一套灵活且全面的内置绑定属性(如text,click,foreach)。但是它还不仅仅如此--你只通过几行代码就可以创建自定义绑定(属性)OK,现在我们可以试试造两个自定义的绑定了。首先你将看到了一个没什么亮点但很功能齐全的调查页面。这是通过前两篇的知识完成的一个简单Demo。<!DO 阅读全文
摘要:
这篇通过一个带导航栏的邮件应用来学习单页应用1.添加一个ul标签,通过foreach绑定上数据集合2.在ul中添加li标签,因为ul上绑定的数据是数组,所以在li上绑定方式要用data-bind="text:$data"3.既然是导航,就应该可选择,即点击之后样式要变化,并且有特定时间。先通过改变class的方式处理样式变化。class的属性名比较奇怪,居然是css。data-bind="css:{selectedClass: (判断语句)}"点击时,获取数据并替换绑定的数据,这样与之相关的View就会更新。注:table绑定chosenFolderDa 阅读全文
摘要:
①数据集的绑定在表的tbody上添加foreach即可实现对集合的迭代。ViewModel对象之间的相对关系类似于文件夹,可以嵌套,且存在“相对路径”.例如在tbody上用foreach绑定person后,该table中可直接绑定person下的属性而不需要加前缀。但是如果要绑定“根目录”下的属性则要添加前缀 $root.<!DOCTYPE HTML><html><head> <title>对数据集合的绑定1</title> <script src="http://knockoutjs.com/js/jquery-1. 阅读全文