edit form 裏的數字驗證2

 protected void RadGrid2_ItemCreated(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridEditableItem && e.Item.IsInEditMode)
        {
            var item = e.Item as GridEditableItem;
            string[] weekday = {"mon", "tue", "wed", "thu", "fri", "sat", "sun"};
            var editor = new GridTextBoxColumnEditor[7];
            var cell = new TableCell[7];

            var validator = new RegularExpressionValidator[7];
            for (int i = 0; i < 7; i++)
            {
                editor[i] = (GridTextBoxColumnEditor) item.EditManager.GetColumnEditor(weekday[i]);
                editor[i].TextBoxControl.ID = i.ToString();
                cell[i] = (TableCell) editor[i].TextBoxControl.Parent;
                validator[i] = new RegularExpressionValidator
                                   {
                                       ValidationExpression = @"^[1-9]/d*|0$",
                                       ErrorMessage = "<span style='color:red;font-size:12px'> Please input a number!",
                                       ControlToValidate = editor[i].TextBoxControl.ID
                                   };
                cell[i].Controls.Add(validator[i]);
            }
        }
    }

-------

其實這個前面的數字驗證是一樣的只是代碼少了一些,還有要補充一下的是這個數字驗證是用於editform的column是自動生成的!不是用columntamplete.

 

 

還有一種方法:

 protected void RadGrid4_ItemCreated(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridEditableItem && e.Item.IsInEditMode)
        {
            var item = e.Item as GridEditableItem;
            var standardEditor = (GridTextBoxColumnEditor)item.EditManager.GetColumnEditor("length");
            var txtBox = standardEditor.TextBoxControl;
            if (txtBox != null)
            {
                var numericSetting = (NumericTextBoxSetting) RadInputManager1.GetSettingByBehaviorID("NumericBehavior1");
                numericSetting.TargetControls.Add(new TargetInput(txtBox.UniqueID, true));
                txtBox.Width = 33;
            }
        }
    }

<telerik:RadInputManager ID="RadInputManager1" runat="server">
            <telerik:NumericTextBoxSetting Culture="en-US" DecimalDigits="1" Type="Number" InitializeOnClient="false" ErrorMessage="only numbers can be added" EmptyMessage="0" BehaviorID="NumericBehavior1">
            </telerik:NumericTextBoxSetting>
        </telerik:RadInputManager>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章