我有一个数据视图,并分配给它一个点击事件。此数据视图位于一个选项卡页上。当用户单击datagridview时,我希望在它下面创建第二个datagridview。这是单击事件的代码。唯一正常工作的行是Console.WriteLine("dataGridView1单击“)行。其他的一切都被忽视了。
void dataGridView1_Click(object sender, EventArgs e)
{
DataGridView dataGridView1 = new DataGridView();
dataGridView1.ColumnCount = 6;
DataGridViewColumn column1 = new DataGridViewColumn();
column1 = dataGridView1.Columns[0];
dataGridView1.Columns[0].HeaderText = "column";
tabPage.Controls.Add(dataGridView1);
Console.WriteLine("dataGridView1 Clicked");
}发布于 2013-12-04 19:58:28
它可以是在当前DataGridView下创建的,也可以是在表单中的某些元素下创建的。将面板添加到您希望添加DataGridView的布局中,并尝试将其添加到该面板中,并且应该可以工作。
将面板从工具箱拖放到窗体上,然后在dataGridView1_Click事件中将控件添加到面板中。
panel1.Controls.Add(dataGridView2);发布于 2013-12-04 20:12:31
提示:这是VS在拖放DGV时使用的代码(根据需要进行调整)。
DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
((System.ComponentModel.ISupportInitialize)(dataGridView1)).BeginInit();
//this.SuspendLayout();
dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView1.Location = new System.Drawing.Point(0, 0);
dataGridView1.Name = "dataGridView1";
dataGridView1.Size = new System.Drawing.Size(240, 150);
dataGridView1.TabIndex = 0;
Controls.Add(dataGridView1);我不知道为什么手动创建列。绑定时,将自动从数据源为您创建列。
https://stackoverflow.com/questions/20384568
复制相似问题