在动态按钮事件里如何调用动态生成datagridview控件
在动态按钮事件里怎么调用动态生成datagridview控件
代码如下:
public void make()
{
//生成控件button
for(int i=0; i<Convert.ToInt16(textbox1.Text);i++)
{
DataGridView data=new DataGridView();
data.Name="data"+i.ToString();
string sele="select * from queue"
DataSet ds=DAL.ds(sele);
data.DataSoure=ds.Tables[0];
pan1.Controls.Add(data);
Button btn=new Button();
btn.Name="btn"+i.ToString();
btn.Click+=new EventHandler(btn_Click);
pan1.Controls.Add(btn);
}
}
public void btn_Click(object sender,EventArgs e)
{
Button btn=(Button)(sender);
if(btn.Name=="btn0")
{
MessageBox.Show("点击了第一个按钮");
}
//DataGridView要怎么调用呢
//DataGridView data=sender as DataGridView;
//if(data.Name=="data0")//这里报错 、未将对象引用到对象实例
}
在按钮事件里怎么才能调用到动态生成的datagridview控件的行和列呢
新手新手、求指点
------解决方案--------------------
你需要在Button里保存动态生成的DataGridView
Button.Tag = data;
然后
Button btn=(Button)(sender);
if(btn.Name=="btn0")
{
var dgv = btn.Tag As DataGridView;
...
}
代码如下:
public void make()
{
//生成控件button
for(int i=0; i<Convert.ToInt16(textbox1.Text);i++)
{
DataGridView data=new DataGridView();
data.Name="data"+i.ToString();
string sele="select * from queue"
DataSet ds=DAL.ds(sele);
data.DataSoure=ds.Tables[0];
pan1.Controls.Add(data);
Button btn=new Button();
btn.Name="btn"+i.ToString();
btn.Click+=new EventHandler(btn_Click);
pan1.Controls.Add(btn);
}
}
public void btn_Click(object sender,EventArgs e)
{
Button btn=(Button)(sender);
if(btn.Name=="btn0")
{
MessageBox.Show("点击了第一个按钮");
}
//DataGridView要怎么调用呢
//DataGridView data=sender as DataGridView;
//if(data.Name=="data0")//这里报错 、未将对象引用到对象实例
}
在按钮事件里怎么才能调用到动态生成的datagridview控件的行和列呢
新手新手、求指点
------解决方案--------------------
你需要在Button里保存动态生成的DataGridView
Button.Tag = data;
然后
Button btn=(Button)(sender);
if(btn.Name=="btn0")
{
var dgv = btn.Tag As DataGridView;
...
}