2018-03-15 ng-if 与 ng-show/hide 的区别、 Dev GridControl 单元格输入数据的验证方法、10分钟记住日历

第一组:


第二组:叶佳意 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 绑定给另一个显示区域,内层改变时,外层不会同步改变,因为此时已经是两个变量了。

{{name}}

ng-show 不存在此问题,因为它不自带一级作用域。

避免这类问题出现的办法是,始终将页面中的元素绑定到对象的属性(data.x)而不是直接绑定到基本变量(x)上。


第三组:吴景霞


第四组:傅云 10分钟记住日历

2018-03-15 ng-if 与 ng-show/hide 的区别、 Dev GridControl 单元格输入数据的验证方法、10分钟记住日历_第1张图片

虽然已经很简单的方法了,但是很久不用还是会忘掉,所以我还是没有掌握这项技能


第五组:王炳钧 Dev GridControl 单元格输入数据的验证方法

参考网址: https://yq.aliyun.com/articles/54996

今天要做一个dev gridcongtrol输入单元格内容有效性的检测,此处以不允许为空、该列的值不允许重复为例。(当然也可以使用别的方式,但别的方式不好实现:当该单元格值不满足条件时,锁定整个gridview,除该单元格之外的位置都不允许输入,即将焦点锁定在这一个单元格)。

1、首先将要验证的列设置为RepositoryItemTextEdit类型,或者别的控件类型(其余控件类型未测试),以下以RepositoryItemTextEdit类型为例

2、找到RepositoryItemTextEdit的Validating事件,具体代码如下:

 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;
                        }
                    }
                }
            }

你可能感兴趣的:(2018-03-15 ng-if 与 ng-show/hide 的区别、 Dev GridControl 单元格输入数据的验证方法、10分钟记住日历)