asp.net中如何在DataGrid的编辑状态下控制编辑框只能输入的是数字并判断保留两位小数

解决方案 »

  1.   

    你试一试在grid中在加一列,在这列中放一个验证控件试一试。
      

  2.   

    首先得有相应的判断是否为数字(还有小数点)的js函数(当然有个验证控件加模板列也行)
    然后你在DataGrid的itemdatabound事件对js函数和编辑状态的textbox的onkeydown的客户端事件绑定
    ,忘记了还得用findcontrol方法来定位该textbox
      

  3.   

    private void datagrid_explanationTime_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {   
    if(e.Item.ItemType==ListItemType.EditItem)
    {   
    //验证开始日期输入的控件
    RequiredFieldValidator reqStartTime=new RequiredFieldValidator();
    reqStartTime.ControlToValidate="txtStartTime";
    reqStartTime.Text="<font color=blue>*</font>";
    reqStartTime.ErrorMessage="请输入开始日期,建议格式为2005-09-01";
    reqStartTime.Display=ValidatorDisplay.Dynamic;
    e.Item.Cells[6].Controls.Add(reqStartTime);
    }
    }
    //txtStartTime是编辑状态下的文本框
    我这里用的是要求输入的验证控件,你可以根据需要使用验证控件,只能输入的是数字并判断保留两位小数在验证条件里设置就好了!
      

  4.   

    smin1994(smin1994) 
    不错,不错