Devexpress Force String.Format";{0:P4}";显示+;签名
我的数据库中有一个十进制列,其中的值存储为12.35 我们显示为12.35% 如果值为正值,客户机希望显示+12.35%(仅此字段)。我如何让它显示+符号。 我们在getter字符串中将textedit格式化为P4.format(“{0:P4}”,value) 这就是我尝试过的: 我可以通过使用Fomrat事件处理程序来实现这一点。我正在寻找一个更干净的方式,而不是下面的代码Devexpress Force String.Format";{0:P4}";显示+;签名,devexpress,Devexpress,我的数据库中有一个十进制列,其中的值存储为12.35 我们显示为12.35% 如果值为正值,客户机希望显示+12.35%(仅此字段)。我如何让它显示+符号。 我们在getter字符串中将textedit格式化为P4.format(“{0:P4}”,value) 这就是我尝试过的: 我可以通过使用Fomrat事件处理程序来实现这一点。我正在寻找一个更干净的方式,而不是下面的代码 private void txtMargin_FormatEditValue(object sender, De
private void txtMargin_FormatEditValue(object sender, DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs e)
{
if (e.Value != null)
{
if (e.Value.ToString().IndexOfAny(new char[] { '-', '+' }) < 0)
{
string val = e.Value.ToString();
val = val.Replace("%", "");
e.Value = string.Format("+{0}", (Convert.ToDouble(val) / 100).ToString("P4"));
e.Handled = true;
}
else
{
string val = e.Value.ToString();
val = val.Replace("%", "");
e.Value = (Convert.ToDouble(val) / 100).ToString("P4");
}
e.Handled = true;
}
}
private void txtMargin_ParseEditValue(object sender, DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs e)
{
if (e.Value != null)
{
if (e.Value.ToString().IndexOf('%') < 0)
{
e.Value = (Convert.ToDouble(e.Value.ToString()) / 100).ToString("P4");
}
}
}
private void txtMargin\u FormatEditValue(对象发送方,DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs e)
{
如果(e.Value!=null)
{
if(e.Value.ToString().IndexOfAny(新字符[]{'-','+'})<0)
{
字符串val=e.Value.ToString();
val=val.Replace(“%”,“”);
e、 Value=string.Format(“+{0}”,(Convert.ToDouble(val)/100.ToString(“P4”);
e、 已处理=正确;
}
其他的
{
字符串val=e.Value.ToString();
val=val.Replace(“%”,“”);
e、 Value=(Convert.ToDouble(val)/100.ToString(“P4”);
}
e、 已处理=正确;
}
}
私有void txtMargin_ParseEditValue(对象发送方,DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs e)
{
如果(e.Value!=null)
{
如果(例如Value.ToString().IndexOf('%')小于0)
{
e、 Value=(Convert.ToDouble(例如Value.ToString())/100.ToString(“P4”);
}
}
}
在表单中加载此代码:
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
textEdit1.Properties.Mask.EditMask = "+#0.0000% ;-#0.0000%";
textEdit1.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
textEdit1.Properties.Mask.UseMaskAsDisplayFormat = false;
textEdit1.Properties.EditFormat.FormatString = "+#0.0000% ;-#0.0000%";;
}
And in you TextBox Handel the event "`CustomDisplayText`" as :
private void textEdit1_CustomDisplayText(object sender, DevExpress.XtraEditors.Controls.CustomDisplayTextEventArgs e)
{
if (e.Value != null && !e.Value.Equals (""))
e.DisplayText = (Convert.ToDouble(e.Value.ToString()) / 100).ToString("+#0.0000 % ;-#0.0000 %");
}