Как изменить столбец представления списка? - PullRequest
3 голосов
/ 02 августа 2011

У меня есть представление списка, данные будут отображаться в виде списка из таблицы данных. как это я сделал, но у меня есть проблема в Датару 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 в др [6]

Я имею в виду в этой строке newitem.SubItems.Add (dr [6] .ToString ());

Но я должен показать только два десятичных знака, как это 25.00

Кто-нибудь может помочь?

Ответы [ 3 ]

5 голосов
/ 02 августа 2011

Используйте это:

dr[6].ToString("N2")

Обновление:

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

N2 должен быть выполнен для числового типа, поэтому приведение необходимо для объекта DataRow.

1 голос
/ 02 августа 2011

попробуйте это:

 string r = "1000.123456";
 var t = string.Format("{0:#.##}",decimal.Parse(r)); //1000.12
0 голосов
/ 02 августа 2011

Как Джейсон Даун дает правильный ответ. Попробуйте dr [6] .ToString ("0.00") также

И попробуйте прочитать Стандартные строки числового формата и Пользовательские строки числового формата Для получения дополнительной информации о формате.

Счастливое кодирование.

...