Как получить правильный формат даты и времени в dateTimePicker после двойного щелчка по строке просмотра данных без разбора - PullRequest
0 голосов
/ 02 июля 2018

Я работаю над приложением Windows Form.

Содержит две формы MainForm - Test и childForm - Search. Форма поиска имеет элемент управления dataGridView. И основная форма содержит элемент управления dateTimePicker1. enter image description here

Мой вопрос: когда я дважды щелкаю по строке в datagridview, мой dateTimePicker показывает дату в формате дд / мм / гггг, как показано выше. Но он показывает в формате MM / dd / yyyy.

Свойства элемента управления DateTimePicker

this.dateTimePicker1.CustomFormat = "dd/MM/yyyy";
this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dateTimePicker1.Name = "dateTimePicker1";
this.dateTimePicker1.Value = new System.DateTime(2018, 6, 21, 0, 0, 0, 0);

Основной код формы:

private void SearchTestToolStripMenuItem_Click(object sender, EventArgs e)
{
    using (var searchForm = new SearchTest())
    {
        DataRow currentRow = null;

        if (searchForm.ShowDialog() == DialogResult.OK)
        {
            if (searchForm.dataGridView1.CurrentRow != null)
                currentRow = ((DataRowView)searchForm.dataGridView1.CurrentRow.DataBoundItem).Row;

            if (currentRow != null)
            {
                tb_SerialNo.Text = (string)currentRow["SrNo"];
                tb_TypeNo.Text = (string)currentRow["TypeNo"];
                tb_TestEngineer.Text = (string)currentRow["TestEngineer"];
                dateTimePicker1.Value = (DateTime)currentRow["Date"]; // here I am getting date from gridview in dd/MM/yyyy format 
            }   
        }    
        dt.DefaultView.RowFilter = "";  
   }
}  

private void ReadFile()
{
    dt = new DataTable("Model1");
    dt.Columns.Add("SrNo", typeof(string));
    dt.Columns.Add("TypeNo", typeof(string));
    dt.Columns.Add("TestEngineer", typeof(string));
    dt.Columns.Add("Date", typeof(DateTime));
    dt.ReadXml(filePath);
}

Код формы поисковой проверки:

private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
    DialogResult = DialogResult.OK;
    this.Close();
}

Мои данные XML:

<SrNo>AB_1</SrNo>
<TypeNo>CSE104</TypeNo>
<TestEngineer>JR</TestEngineer>
<Date>2018-02-07T00:00:00+05:30</Date>

Я не хочу использовать метод ParseExact.

...