• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Траблы с Cultureinfo

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Привет!

У меня такая проблема:
в таблице ProductsForSpec, выводящей данные sqlDataAdapter'a, нужно отформатировать числовые данные(столбец ECost), так чтобы после десятичной точки было только два знака, разряды чисел должны отделяться запятыми.
для этого я для таблицы ProductsForSpec пишу таблицу стилей, в которой нужный мне столбец описываю так:

Код:
public Specefication()
{
.......
// 
// tbcProductsForSpec_ECost
// 
this.tbcProductsForSpec_ECost.Alignment = System.Windows.Forms.HorizontalAlignment.Right;
this.tbcProductsForSpec_ECost.Format = "";
this.tbcProductsForSpec_ECost.FormatInfo = nfi;
this.tbcProductsForSpec_ECost.HeaderText = "ECost";
this.tbcProductsForSpec_ECost.MappingName = "ECost";
this.tbcProductsForSpec_ECost.Width = 80;
}

nfi реализую след образом
Код:
public Specefication()
{
.......

private System.Globalization.NumberFormatInfo nfi;
....
private void InitializeComponent()
{
....
//устанавливаю текущую "культуру" на англ. 
this.nfi=new new CultureInfo( "en-US", false ).NumberFormat;
....

// nfi
// устанавливаю число знаков после десятич. точки
this.nfi.NumberDecimalDigits=2;
//устанавливаю разделитель разрядов
this.nfi.NumberGroupSeparator=",";
}
}

В общем, это все не работает... может подскажете. что не так? буду очень признательна....
мои соображения на этот счет: эту культуру я добавляю в приложение программно, т.е. просто дописываю код вручную, из-за этого, когда я перехожу на страницу дизайнера значение свойства this.tbcProductsForSpec_ECost.FormatInfo = nfi; слетает на null. может это потому что ее надо было помещать в проект другим способом, например перетаскивать из списка компонентов(но там я ни CultureUnfo ни NumberFormatInfo не нашла)....

Я определенно чего-то не понимаю... а сроки уже поджимают...

Взываю ко всем вам о помощи!
 
D

Dr.Gigabit

Hi!

Somethink like this:

Код:
private void ChangeColumnCultureInfo()
{

  System.Globalization.CultureInfo myCultureInfo=  new CultureInfo("en-US");
    
  /* Cast a column that holds numeric values to the   
  DataGridTextBoxColumn type, and set the FormatInfo
  property to the new CultureInfo object. */

  DataGridTextBoxColumn myGridTextBoxColumn = 
  (DataGridTextBoxColumn) myDataGrid.TableStyles["MyTableStyle"].
  GridColumnStyles["MyColumnStyle"];

  myGridTextBoxColumn.FormatInfo = myCultureInfo;
  myGridTextBoxColumn.Format = "c";
}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!