簡體   English   中英

DataGridView行為

[英]DataGridView Behavior

因此,我嘗試裝配一個DataGridView,以便在最后一行的最后一個單元格上按Enter鍵時,將添加新行。 我似乎無法使它正常工作,因為在最后一行按Enter鍵時,DataGridView控件似乎不響應任何鍵事件。 無論如何,有沒有要覆蓋這種行為?

protected override bool ProcessDataGridViewKey(KeyEventArgs e)
    {
        // Handle the ENTER key.  
        if (e.KeyCode == Keys.Enter)
        {
            // Add another if statement and use some logic to see if it is the cell you want then create your new row if true!
        }
        return base.ProcessDataGridViewKey(e);
    }

這里的更多信息: DataGridView.ProcessDataGridViewViewKey方法

您可以實現以下行為:

    DataTable dt = new DataTable();
    int value = 0;
    private void Form1_Load(object sender, EventArgs e)
    {
        dataGridView1.AutoGenerateColumns = true;

        dt.Columns.AddRange(new DataColumn[]
            {
                new DataColumn("column1", typeof(string)),
                new DataColumn("column2", typeof(int)),
            });

        dt.Rows.Add("row " + value, value++);
        dataGridView1.DataSource = dt;
    }

    private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
    {
        DataGridViewCell cell = dataGridView1.SelectedCells[0];
        if (e.KeyCode == Keys.Enter && 
            cell.RowIndex == dataGridView1.Rows.Count - 1 && 
            cell.ColumnIndex == dataGridView1.Columns.Count - 1)
            dt.Rows.Add("row " + value, value++);
    }

這是一個數據綁定的網格視圖,您當然可以向未綁定的數據網格視圖本身添加行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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