技术:.NET、SQL Server 2008 R2、Winforms
好吧,我这辈子都想不通。
首先,我使用 DataTable 来存储来自 SQL Server 2008 数据库的数据,并将其绑定(bind)到 DataRepeater。
我试过像这样更改绑定(bind):
label1.DataBindings.Add("Text", history, "Value", true, DataSourceUpdateMode.Never, "", "N");
在其他地方的文本框和标签上效果很好,但在 DataRepeater 上效果不佳。 (label1 是与 DataRepeater 关联的 ItemTemplate 的一部分)
由于这样绑定(bind)数据不起作用,我只想使用我的 DataTable 并强制该列具有上面列出的格式。
并手动更改数据格式:(它是一个 float )
for (int i=0;i < history.Rows.Count;i++)
{
history.Rows[i]["Value"] = String.Format("{0:N}", history.Rows[i]["Value"]);
}
也不起作用,数据中继器只是将其改回。
我想要这个:
12,123,123.00
我明白了:
12123123
有什么想法吗?
最佳答案
抱歉我的英语不好。这对我来说很好。
private void textBox10_TextChanged(object sender, EventArgs e)
{
string f = String.Format("{0:#0.00}", Convert.ToDouble(((TextBox)sender).Text));
((TextBox)sender).Text = f;
}
示例:
textBox10.Text= 48
结果= 48.00
为每个其他数据类型更改此代码。
在 Datarepeater
中使用文本框的 TextChanged
事件。
关于c# - 如何格式化 DataRepeater 中的数字或字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7667360/