当前位置:编程学习 > C#/ASP.NET >>

C#中datagridview单元格样式

能不能设置datagridview中的一列,只接受数字输入,并只保留两位小数。我在单元格样式里明明设置成数字,并保留两位小数,单运行的时候不起作用。该列还是可以输入任意字符,而且即使输入数字,也没有自动保留两位小数。 --------------------编程问答-------------------- 在defaultCellStyle属性中试试看 --------------------编程问答-------------------- private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
        { 
            double d= 0.0; 
            dataGridView1.Rows[e.RowIndex].ErrorText = string.Empty; 
            if(dataGridView1.Columns[e.ColumnIndex].DataPropertyName == "") 
            { 
                if(!double.TryParse(e.FormattedValue.ToString(),out d) ) 
                { 
                    dataGridView1.Rows[e.RowIndex].ErrorText = "输入有误!"; 
                    e.Cancel = true; 
                } 
            } 
        } 
--------------------编程问答-------------------- ding  --------------------编程问答--------------------  你看这样行不?
 private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            string sss = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
            if (Regex.IsMatch(sss, "^[0-9]+(.[0-9]{2})?$"))
            {
                if (Regex.IsMatch(sss, "^[0-9]*$"))
                {
                    double ggg = Convert.ToDouble(sss);
                    string s = string.Format("{0:0.00}", ggg);
                    dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = s;
                }
            }
            else
            {
                dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
            }
        } --------------------编程问答-------------------- 我还有一个问题,通过代码应该可以实现,但是为啥,我在datagridview提供的cellstyle里设不行呢,是不是我有什么地方没设对,或者要什么前提?!高手给个解答! --------------------编程问答-------------------- 你可以在后台写个检查方法 ,并且将你那一列设置围殴模板列,然后当用户 鼠标焦点离开时,检查一下,如果不符合你的要求,就提醒重新输入 。。。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,