请问有什么办法可以控制DataGridTextBoxColumn里只能输入10位整数加两位小数的内容?
解决方案 »
- 这个效果(内附图片)该选用什么控件?
- 小妹继续请教WinFrom上下滚动效果问题。
- C#接口问题
- 关于用C#开发地图信息软件的疑惑
- c#串口readline()读取数据时碰到的问题。
- 一直没解决:C#中如何使用WMI获取安装的软件列表,安装的组件列表?救急啊!!!
- c#控件随窗体自动缩放时,出现由最小化变为最大化时,界面出现混乱(附代码,敬请指点)
- C# Remoting操作数据库服务端采用Singleston激活时DataSet返回正常,SingleCall激活不返值,这是为什么,请高手解决
- System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。
- wpf应用程序
- C# Save as 方法
- 求 搜索邮箱地址 思路or代码or成品
dgv.CellValidating +=(sender,e) =>
{
string strValue = e.FormattedValue.ToString();
if(!Regex.Match(strValue,@"^\d{10}\.\d{2}$").Success)
{
e.Cancel = true;
}
else
{
//to do
}
};
{
string strValue = e.FormattedValue.ToString();
if(string.IsNullOrEmpty(strValue))
{
return;
}
if(!Regex.Match(strValue,@"^\d{10}\.\d{2}$").Success)
{
e.Cancel = true;
}
else
{
//to do
}
};
{
double d= 0.0;
dataGridView1.Rows[e.RowIndex].ErrorText = string.Empty;
if(dataGridView1.Columns[e.ColumnIndex].DataPropertyName == "A")
{
if(!double.TryParse(e.FormattedValue.ToString(),out d) || d<0.0)
{
dataGridView1.Rows[e.RowIndex].ErrorText = "输入有误!";
e.Cancel = true;
}
}
}
正则^[0-9]\d*\.\d{0,2}$|^\d*$
代码如下
//进入编辑时发生
private void dgvCable_CellEnter(object sender, DataGridViewCellEventArgs e)
{
int nRow = dgvCable.CurrentCell.RowIndex; //当前行
int nCol = dgvCable.CurrentCell.ColumnIndex; //当前列
if (this.dgvCable.Columns[e.ColumnIndex].HeaderText != CableColName.HeaderText)
{
Rectangle r = this.dgvCable.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
r = this.dgvCable.RectangleToScreen(r);
this.numUdCable.Location = this.dgvCable.RectangleToClient(r).Location;
this.numUdCable.Size = r.Size; numUdCable.Value = Convert.ToDecimal(dgvCable[nCol, nRow].Value);
this.numUdCable.Visible = true;
this.numUdCable.BringToFront();
numUdCable.Focus(); //将焦点给数字控件
}
else
{
numUdCable.Visible = false;
}
} //值改变时发生
private void numUdCable_ValueChanged(object sender, EventArgs e)
{
int nRow = dgvCable.CurrentCell.RowIndex; //当前行
int nCol = dgvCable.CurrentCell.ColumnIndex; //当前列 dgvCable.CurrentCell.Value = Convert.ToString(Math.Round(numUdCable.Value, 2)); //保存2位有效数字
}