请问如此的自定义控件的事件该如何写?
请问怎么在自定义控件中处理这些事件。比如我的自定义控件包括了一个DATAGRID(完全自动生成,列都是自动生成的)和一排分页按钮,我不知道这个按钮的事件该如何写,事件应该是这样的原理:改变当前的页索引,得到新的数据源来绑定DATAGRID。
分页的原理就是select top pagesize id from table where id not in(select top ((currentpageindex-1)*pagesize) ....这样的
我希望按钮事件改变currentpageindex,然后调用业务层的方法返回新的DATASET再重新生成DATAGRID
请问这个事件该如何写?写在哪里?
问题点数:0、回复次数:8Top
1 楼zhyl_yg(lisppur)回复于 2003-12-01 20:04:32 得分 0
http://www.430000.net/ShowArticle.asp?ArticleID=61
你看看有没有帮助!!Top
2 楼zhyl_yg(lisppur)回复于 2003-12-01 20:16:18 得分 0
http://www.ccw.com.cn/htm/center/prog/02_4_4_3.asp
look this !Top
3 楼lxy0423((I Love Cloud))回复于 2003-12-01 20:16:29 得分 0
see your code and with you think
i send my code to you about "DATAGRID 分页" and "一排分页按钮"'s Code
beacause i go out nowTop
4 楼asam2183(三山)回复于 2003-12-01 20:22:13 得分 0
//用户控件PageControl:
public class PageControl : System.Windows.Forms.UserControl
{
public event EventHandler OnPageChange_Click;
private void InitializeComponent()
{
...
this.DataGrid1.PageIndexChanged += new
System.Web.UI.WebControls.DataGridPageChangedEventHandler
(this.DataGrid1_PageIndexChanged);
}
public void BindGrid(string SQL)
{
//绑定dataGrid
}
private void DataGrid1_PageIndexChanged(object source,
System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
if (OnPageChange_Click != null)
OnPageChange_Click(this, null);
}
}
//引用的界面A.aspx
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.PageControl.OnPageChange_Click +=new System.EventHandler(this.Page_Change);
}
//委托事件,重新绑定数据
void Page_Change()
{
this.PageControl.BindGrid("SELECT * FROM Table1")
}
Top
5 楼asam2183(三山)回复于 2003-12-01 20:22:57 得分 0
//用户控件PageControl:
public class PageControl : System.Windows.Forms.UserControl
{
public event EventHandler OnPageChange_Click;
private void InitializeComponent()
{
...
this.DataGrid1.PageIndexChanged += new
System.Web.UI.WebControls.DataGridPageChangedEventHandler
(this.DataGrid1_PageIndexChanged);
}
public void BindGrid(string SQL)
{
//绑定dataGrid
}
private void DataGrid1_PageIndexChanged(object source,
System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
if (OnPageChange_Click != null)
OnPageChange_Click(this, null);
}
}
//引用的界面A.aspx
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.PageControl.OnPageChange_Click +=new System.EventHandler(this.Page_Change);
}
//委托事件,重新绑定数据
void Page_Change()
{
this.PageControl.BindGrid("SELECT * FROM Table1")
}
Top
6 楼sifanjj(踏雪寻梅)回复于 2003-12-01 20:23:53 得分 0
谢谢,不过我所要的是自定义控件的例子,普通的拖个DATAGRID控件过去,然后写自定义分页我早就知道了。Top
7 楼sifanjj(踏雪寻梅)回复于 2003-12-01 20:29:46 得分 0
asam2183(三山):
请问你的自定义分页的代码?你好像还是用自带的分页吧Top
8 楼sifanjj(踏雪寻梅)回复于 2003-12-01 20:37:12 得分 0
重新说明一下:
1.该datagrid是自动生成的,就是说在加载这个custom control之前是不存在datagrid的,它的列和数据都是根据XML文件得到的。
2.用自定义分页,而不是datagrid自带的分页。
我就是不知道那个分页按钮的事件在哪里写?如何在激发控件内的按钮事件时改变控件的一个属性,作为在调用控件的页面里的方法的参数,从而重新得到生成datagrid的数据源来重新LOAD该控件。Top




