2014-01-26 2 views
0

У меня проблема в datable.Изменение значения в datatable не работает правильно

Я получаю результат запроса select в datable.

Я хочу сменить дату на персидский язык, и это - работа. Но когда я показываю эту датируемый в DataGridView вместо того чтобы показывать 1392/02/11 он показывает 1392/11/02 (изменить место месяца и дня, что я должен делать?)

DataTable dtt = new DataTable(); 
dtt = DataPortAction.GetCustomerHostById(CustomerId); 

for (int i = 0; i < dtt.Rows.Count; i++) 
{ 
    DateTime dt1 = new DateTime(); 
    dt1 = Convert.ToDateTime(dtt.Rows[i][2]); 
    System.Globalization.PersianCalendar pa = new System.Globalization.PersianCalendar(); 
    string s = pa.GetYear(dt1) + "/" + pa.GetMonth(dt1) + "/" + pa.GetDayOfMonth(dt1); 
    dtt.Rows[i][2] = s; 
} 

dataGridView1.DataSource = dtt; 

изменить место Получить день и получить месяц но он не показан в DataGridView

ответ

0

Вместо:

dt1 = Convert.ToDateTime(dtt.Rows[i][2]); 

Вы должны использовать, например,

dt1 = DateTime.ParseExact(dtt.Rows[i][2], "yyyy/dd/MM/", CultureInfo.InvariantCulture); 

Или просто:

dt1 = dtt.Rows[i][2].ToString("yyyy/dd/MM/"); 
+0

Благодарим вас за ответ, но он не работает – user3169182

0

Изменить тип столбца даты в вашем DataGridView а DataTable в строку, в результате дисплей не будет автоматически формат даты при связывании таблицы в вид сетки.

Проблема вашей вещи заключается в автоматическом формировании при соединении

Смежные вопросы