![](/img/trans.png)
[英]C# DataGridView automatically shorting when adding row in my datasource
[英]c# datagridview row width automatically increases on scrolling
我的Datagridview包含DateTimeColumn,它在滾動時與另一個下一行列重疊。 我已經設置了DatagridView屬性
AutoSizeColumnsMode:填充
AutoSizeRowsMode:AllCellsExceptheaders
AllowUserstoAddRows:是的
但它告訴我以下結果。 任何幫助都會很棒
我的守則
private void dataGridView4_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
if (e.RowIndex != -1)
{
if (e.ColumnIndex == 1 || e.ColumnIndex == 2)
{
oDateTimePicker = new DateTimePicker();
dataGridView4.Controls.Add(oDateTimePicker);
oDateTimePicker.Format = DateTimePickerFormat.Short;
Rectangle oRectangle = dataGridView4.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
oDateTimePicker.Size = new Size(oRectangle.Width, oRectangle.Height);
oDateTimePicker.Location = new Point(oRectangle.X, oRectangle.Y);
oDateTimePicker.TextChanged += new EventHandler(dateTimePicker_OnTextChange);
oDateTimePicker.Visible = true;
}
}
}
catch (Exception E)
{
MessageBox.Show(E.ToString());
}
}
private void dateTimePicker_OnTextChange(object sender, EventArgs e)
{
dataGridView4.CurrentCell.Value = oDateTimePicker.Text.ToString();
}
這似乎不是一個用真實DataGridViewColumn
你正在調整一些DateTimePicker
以上DataGridView
。
而是在DataGridView
上方對齊一些DateTimePicker
控件,您應該創建一個自定義DataGridViewColumn
。
這是一個很好的MSDN示例 ,它實現了CalendarColumn
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.