如何修改列表视图列?

发布于 2024-11-27 06:17:54 字数 1047 浏览 1 评论 0原文

我有列表视图,数据将显示在数据表的列表视图中 像这样我已经完成了,但我在 datarow 6 有问题

           dt = classes.xxxxx.GetData(sql, mf);

  if (dt != null)
  {
    ListViewItem newitem = null;
    lstviewcashmembers.Items.Clear();
    lstviewcashmembers.BeginUpdate();
    foreach (DataRow dr in dt.Rows)
    {
      newitem = lstviewcashmembers.Items.Add(dr[0].ToString());
      newitem.SubItems.Add(dr[1].ToString());
      newitem.SubItems.Add(dr[2].ToString());
      newitem.SubItems.Add(dr[3].ToString());
      newitem.SubItems.Add(dr[4].ToString());
      newitem.SubItems.Add(dr[5].ToString());
      newitem.SubItems.Add(dr[6].ToString());
      newitem.SubItems.Add(dr[7].ToString());
      newitem.SubItems.Add(dr[8].ToString());
      newitem.SubItems.Add(dr[9].ToString());
      newitem.SubItems.Add(dr[10].ToString());
      newitem = null;
    }

    lstviewcashmembers.EndUpdate();
  }

我的问题是我从数据库得到的原始值是 25.00000 在 dr[6]

我的意思是在这一行 newitem.SubItems.Add(dr[6].ToString()) ;

但我必须只显示两位小数,例如 25.00

有人能帮忙吗?

I have list view the data will be displayed in list view from data table
like this i have done but i have problem at datarow 6

           dt = classes.xxxxx.GetData(sql, mf);

  if (dt != null)
  {
    ListViewItem newitem = null;
    lstviewcashmembers.Items.Clear();
    lstviewcashmembers.BeginUpdate();
    foreach (DataRow dr in dt.Rows)
    {
      newitem = lstviewcashmembers.Items.Add(dr[0].ToString());
      newitem.SubItems.Add(dr[1].ToString());
      newitem.SubItems.Add(dr[2].ToString());
      newitem.SubItems.Add(dr[3].ToString());
      newitem.SubItems.Add(dr[4].ToString());
      newitem.SubItems.Add(dr[5].ToString());
      newitem.SubItems.Add(dr[6].ToString());
      newitem.SubItems.Add(dr[7].ToString());
      newitem.SubItems.Add(dr[8].ToString());
      newitem.SubItems.Add(dr[9].ToString());
      newitem.SubItems.Add(dr[10].ToString());
      newitem = null;
    }

    lstviewcashmembers.EndUpdate();
  }

my problem is like I got original value coming from database is 25.00000 at dr[6]

I mean in this line newitem.SubItems.Add(dr[6].ToString());

But I have to show only two decimal places like this 25.00

Would any one help this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷迭香的记忆 2024-12-04 06:17:54

使用此:

dr[6].ToString("N2")

更新:

((double)dr[6]).ToString("N2")

N2 必须在数字类型上完成,因此必须对 DataRow 对象进行强制转换。

Use this:

dr[6].ToString("N2")

Update:

((double)dr[6]).ToString("N2")

The N2 must be done on a numeric type, so the cast is necessary on the DataRow object.

拍不死你 2024-12-04 06:17:54

试试这个:

 string r = "1000.123456";
 var t = string.Format("{0:#.##}",decimal.Parse(r)); //1000.12

try this:

 string r = "1000.123456";
 var t = string.Format("{0:#.##}",decimal.Parse(r)); //1000.12
掌心的温暖 2024-12-04 06:17:54

正如 Jason Down 给出的正确答案。也尝试 dr[6].ToString("0.00")

并尝试阅读 标准数字格式字符串自定义数字格式字符串 有关格式的更多信息。

快乐编码。

As Jason Down give the Correct Answer. Try dr[6].ToString("0.00") also

And try to read Standard Numeric Format Strings and Custom Numeric Format Strings For More Information About Format.

Happy Coding.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文