簡體   English   中英

c #datagridview行寬在滾動時自動增加

[英]c# datagridview row width automatically increases on scrolling

我的Datagridview包含DateTimeColumn,它在滾動時與另一個下一行列重疊。 我已經設置了DatagridView屬性

AutoSizeColumnsMode:填充

AutoSizeRowsMo​​de: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM