有二个窗口:主窗口,查询条件窗口
主窗口点击查询弹出查询条件窗口,然后键入查询条件,按查询,查询窗口消失,
并将查询结果记录来填充第一个窗口。 我看到以前介绍说用 事件委托,请问如何做,最后能一个完全的实例代码。
主窗口点击查询弹出查询条件窗口,然后键入查询条件,按查询,查询窗口消失,
并将查询结果记录来填充第一个窗口。 我看到以前介绍说用 事件委托,请问如何做,最后能一个完全的实例代码。
解决方案 »
- debug和release版本能否混用?
- 请教:如何在窗口中添加图形对象,有点象ppt的方式
- treeview的奇怪问题
- C# 读取word 的拼音文本
- 问一个关于socket异步传输中回调函数是怎么一回事?
- WINFORM程序中,怎么用EXCEL。APPLICATION方式设置EXCEL的宽度。。。急
- Excel读取数据的问题!(在线等)
- 求两条线的交点坐标
- c#如何让Form获得焦点(比如俄罗斯方块)
- 如何在C#中的菜单中加入“窗体控制”,即有所有打开窗体的列表,还有排列,平铺等功能
- 请问组件componet如何知道放置它的form?
- P/Invoke--怎么给Combox和ListBox发送Window消息,来获取选中的值和设置选中的值? ------换公司第一个项目,急,在线等!
有那么复杂嘛?
写个返回DATETABLE类型的get和set就解决了。
在查询条件窗口中定义public event EventHandler EndSelectData;
在查询条件窗口的查询button1事件中
private void button1_Click(object sender, EventArgs e)
{
if(EndSelectData!=null)
{
EndSelectData(sender,e);//sender可以是传给主窗口的参数
}
}
在主窗口中定义查询条件窗口的地方把这个事件引出来,然后在事件中写
void 查询条件窗口_EndSelectData(object sender, EventArgs e)
{
string sql = (string)sender;
//查询,得到想要的数据,填充控件,显示数据
}
试试看吧
//在查询窗体(Form2)定义构造函数接收主窗体的DataGridView
DataGridView mainGrid;
public Form2(DataGridView grv)
{
InitializeComponent();
mainGrid = grv;
} //查询窗体的"查询"按钮,把结果绑定到DataGridView
DataTable dt;
//...假设查询结果存到dt里
grv.DataSource=dt;
this.Close(); //主窗体里如此调用:
Form2 frm=new Form2(dataGridView1);
frm.ShowDialog();
2、查询窗体查出结果,关闭,将结果作为数据源传给主窗体的控件,绑定,OK;
private void start_search_Click(object sender, System.EventArgs e)
{ yuanliao_condi frm = new yuanliao_condi();
frm.Icon = this.Icon;
frm.BackColor = this.BackColor;
frm.ShowDialog();
}查询窗口是 yuanliao_condi
public event EventHandler EndSelectData;
private void button1_Click(object sender, EventArgs e)
{
if(EndSelectData!=null)
{
EndSelectData(sender,e);
}
} 在主窗口中定义查询条件窗口的地方把这个事件引出来,然后在事件中写
void 查询条件窗口_EndSelectData(object sender, EventArgs e)
{
string sql = (string)sender;
//查询,得到想要的数据,填充控件,显示数据
} 具体怎么做啊,本人是个莱鸟不好意思。
到网上找一下,很多的.
举个例子:
将你查询窗体中的条件传递回主窗口,然后在主窗体的查询Button事件中
{
查询窗体.Show();
在查询窗体弹出代码后面加上根据查询条件填充你的GridView的代码
}
我举个例子啊,如果你是用sql语句查询的,那么在
查询窗口 yuanliao_condi 的button1_Click中,将查询的语句赋值给sender
public event EventHandler EndSelectData;
private void button1_Click(object sender, EventArgs e)
{
if(EndSelectData!=null)
{
string sql = "select * from table where name like '张%'";
sender = string;
EndSelectData(sender,e);
}
}
你在主窗口 yuanliao_basic
void 查询条件窗口_EndSelectData(object sender, EventArgs e)
{
string sql = (string)sender;
//查询,得到想要的数据,填充控件,显示数据
}