第一组:
第二组:叶佳意 ng-if 与 ng-show/hide 的区别
区别一,ng-if 在后面表达式为 true 的时候才创建这个 dom 节点,ng-show 是初始时就创建了,用 display:block 和 display:none 来控制显示和不显示。
区别二,ng-if 会(隐式地)产生新作用域,ng-switch 、 ng-include 等会动态创建一块界面的也是如此。这样会导致,在 ng-if 中用基本变量绑定 ng-model,并在外层 div 中把此 model 绑定给另一个显示区域,内层改变时,外层不会同步改变,因为此时已经是两个变量了。
<p>{{name}}</p>
<div ng-if="true">
<input type="text" ng-model="name">
</div>
ng-show 不存在此问题,因为它不自带一级作用域。
避免这类问题出现的办法是,始终将页面中的元素绑定到对象的属性(data.x)而不是直接绑定到基本变量(x)上。
第三组:吴景霞
第四组:傅云 10分钟记住日历
虽然已经很简单的方法了,但是很久不用还是会忘掉,所以我还是没有掌握这项技能
第五组:王炳钧 Dev GridControl 单元格输入数据的验证方法
参考网址: https://yq.aliyun.com/articles/54996
今天要做一个dev gridcongtrol输入单元格内容有效性的检测,此处以不允许为空、该列的值不允许重复为例。(当然也可以使用别的方式,但别的方式不好实现:当该单元格值不满足条件时,锁定整个gridview,除该单元格之外的位置都不允许输入,即将焦点锁定在这一个单元格)。
1、首先将要验证的列设置为RepositoryItemTextEdit类型,或者别的控件类型(其余控件类型未测试),以下以RepositoryItemTextEdit类型为例
2、找到RepositoryItemTextEdit的Validating事件,具体代码如下:
<span style="font-size:14px;"> private void TextEdit1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
BaseEdit textEdit = sender as BaseEdit;
if (textEdit.Text.ToString().Trim().Length == 0)
{
e.Cancel = true;
//标识 错误提示
errorReason = 0;
return;
}
else
{
//获取GridView中所有的选中的行号
//此处不允许多选,故只有一行
int[] iRowId = this.gViewActList.GetSelectedRows();
for (int i = 0; i < gViewActList.DataRowCount; i++)
{
//重复检验时,不验证当前行
if (i != iRowId[0])
{
//textEdit.EditValue 当前编辑的值
//需要注意的是取当前单元格的值要用:textEdit.EditValue
//GridView在TextEdit1_Validating执行时还未将你输入的值更新进去,但执行完该方法后,即使不满足条件,你所输入的值,也会更新到GridView中去
//同时,也说明了,在Validating函数中排除重复值的时候,通过GridView获取当前行的值,不是最新的,即不是你最近一次输入的
if (textEdit.EditValue.ToString().Trim() == gViewActList.GetDataRow(i)["GridView上绑定的列名"].ToString().Trim())
{
e.Cancel = true;
//标识 错误提示
errorReason = 1;
return;
}
}
}
}</span>
网友评论