Как разместить datetimepicker в элементе управления DataGridView в C # winforms - PullRequest
0 голосов
/ 06 июня 2010
private void showdate(DataGridViewCellEventArgs e)
{
    dateTimePicker1.Size = vacation_transDataGridView.CurrentCell.Size;
    dateTimePicker1.Top = vacation_transDataGridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true).Top + vacation_transDataGridView.Top;
    dateTimePicker1.Left = vacation_transDataGridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true).Left + vacation_transDataGridView.Left;

    if (!(object.Equals(Convert.ToString(vacation_transDataGridView.CurrentCell.Value),"")))
    {
        dateTimePicker1.Value = Convert.ToDateTime(vacation_transDataGridView.CurrentCell.Value);
        //dateTimePicker1.Visible = false;
    }

    dateTimePicker1.Visible = true;
}

Этот код в событии dgv cell_click

Ответы [ 3 ]

1 голос
/ 08 июня 2010

На MSDN есть пример именно этого. http://msdn.microsoft.com/en-us/library/7tas5c80.aspx

0 голосов
/ 31 августа 2017
private void dgtest_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (e.ColumnIndex == 0)
    {
         dtp = new DateTimePicker();
        dgtest.Controls.Add(dtp);
        dtp.Format = DateTimePickerFormat.Short;
        Rectangle Rectangle = dgtest.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
        dtp.Size = new Size(Rectangle.Width, Rectangle.Height);
        dtp.Location = new Point(Rectangle.X, Rectangle.Y);
        dtp.CloseUp += new EventHandler(dtp_CloseUp);
        dtp.TextChanged += new EventHandler(dtp_OnTextChange);
        dtp.Visible = true;
    }
}

private void dtp_OnTextChange(object sender, EventArgs e)
{

    dgtest.CurrentCell.Value = dtp.Text.ToString();
}

void dtp_CloseUp(object sender, EventArgs e)
{ 
    dtp.Visible = false;
}
0 голосов
/ 07 июня 2010

К сожалению, нет такого типа ячейки или столбца, который вы можете использовать (насколько я знаю). Но Microsoft предоставляет пример о том, как получить NumericUpDown (который также не существует) в DataGridView.

Возможно, вы сможете применить этот пример, чтобы получить DateTimePicker в DataGridView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...