C# 与委托匹配的方法没有重载';System.EventHandler
我正在合并Gridview列标题中的两行。这一行必须分类。要将排序功能添加到列标题,我需要将LinkButton控件添加到TableCell,然后将排序方法分配给click事件。我得到了“SectionGridView\u排序无重载…”我不知道如何将事件添加到单击操作中。代码如下:C# 与委托匹配的方法没有重载';System.EventHandler,c#,gridview,merge,row,gridview-sorting,C#,Gridview,Merge,Row,Gridview Sorting,我正在合并Gridview列标题中的两行。这一行必须分类。要将排序功能添加到列标题,我需要将LinkButton控件添加到TableCell,然后将排序方法分配给click事件。我得到了“SectionGridView\u排序无重载…”我不知道如何将事件添加到单击操作中。代码如下: TableCell cellSecID = new TableHeaderCell(); cellSecID.HorizontalAlign = HorizontalAlign.Ce
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
如何将排序方法分配给单击事件
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
更新
这是我的排序方法:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
//Get the CourseID
populateSectionGrid();
DataTable dtSectionGridData = SectionGridView.DataSource as DataTable;
SectionGridViewSortExpression = e.SortExpression;
if (dtSectionGridData != null)
{
DataView dataView = new DataView(dtSectionGridData);
dataView.Sort = SectionGridViewSortExpression + " " + ConvertSectionSortDirectionToSql(e.SortDirection);
SectionGridView.DataSource = dataView;
SectionGridView.DataBind();
}
}
事件处理程序方法的签名与委托类型不兼容
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
您可能正在绑定LinkButton。单击带有GridView排序的event
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
//section gridview should be like this
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
}
然而,你需要与
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
void lnkHeader_Click(Object sender, EventArgs e)
{
}
如果您没有现有的SectionGridView
排序事件,那么您的lnkHeader
单击事件应该如下所示:(尽管不是很好的做法)
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
事件处理程序方法的签名与委托类型不兼容
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
您可能正在绑定LinkButton。单击带有GridView排序的event
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
//section gridview should be like this
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
}
然而,你需要与
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
void lnkHeader_Click(Object sender, EventArgs e)
{
}
如果您没有现有的SectionGridView
排序事件,那么您的lnkHeader
单击事件应该如下所示:(尽管不是很好的做法)
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
事件处理程序方法的签名与委托类型不兼容
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
您可能正在绑定LinkButton。单击带有GridView排序的event
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
//section gridview should be like this
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
}
然而,你需要与
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
void lnkHeader_Click(Object sender, EventArgs e)
{
}
如果您没有现有的SectionGridView
排序事件,那么您的lnkHeader
单击事件应该如下所示:(尽管不是很好的做法)
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
事件处理程序方法的签名与委托类型不兼容
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
您可能正在绑定LinkButton。单击带有GridView排序的event
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
//section gridview should be like this
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
}
然而,你需要与
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
void lnkHeader_Click(Object sender, EventArgs e)
{
}
如果您没有现有的SectionGridView
排序事件,那么您的lnkHeader
单击事件应该如下所示:(尽管不是很好的做法)
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
更新问题后,您的问题有解决方法:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
更改此行:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
lnkHeader.Click += new EventHandler(lnkHeader_Click);
在事件处理程序中:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
void lnkHeader_Click(Object sender, EventArgs e)
{
sortExpression = "yoursortexpression"; //class level string or ViewState
SectionGridView_Sorting(null, null); //intentionally calling gridview sorting event
}
在gridview排序事件中:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
//Get the CourseID
populateSectionGrid();
DataTable dtSectionGridData = SectionGridView.DataSource as DataTable;
string sDirection = "ASC" ;
if(sortExpression == null)
{
SectionGridViewSortExpression = e.SortExpression;
sDirection = e.SortDirection;
}
else
SectionGridViewSortExpression = sortExpression
if (dtSectionGridData != null)
{
DataView dataView = new DataView(dtSectionGridData);
dataView.Sort = SectionGridViewSortExpression + " " + ConvertSectionSortDirectionToSql(sDirection);
SectionGridView.DataSource = dataView;
SectionGridView.DataBind();
}
}
注意:上述代码未经测试。可能需要对其进行微调。例如保持SortExpression
和SortDirection
并检查gridview排序
事件。在问题更新后的中,您的问题有解决方法:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
更改此行:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
lnkHeader.Click += new EventHandler(lnkHeader_Click);
在事件处理程序中:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
void lnkHeader_Click(Object sender, EventArgs e)
{
sortExpression = "yoursortexpression"; //class level string or ViewState
SectionGridView_Sorting(null, null); //intentionally calling gridview sorting event
}
在gridview排序事件中:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
//Get the CourseID
populateSectionGrid();
DataTable dtSectionGridData = SectionGridView.DataSource as DataTable;
string sDirection = "ASC" ;
if(sortExpression == null)
{
SectionGridViewSortExpression = e.SortExpression;
sDirection = e.SortDirection;
}
else
SectionGridViewSortExpression = sortExpression
if (dtSectionGridData != null)
{
DataView dataView = new DataView(dtSectionGridData);
dataView.Sort = SectionGridViewSortExpression + " " + ConvertSectionSortDirectionToSql(sDirection);
SectionGridView.DataSource = dataView;
SectionGridView.DataBind();
}
}
注意:上述代码未经测试。可能需要对其进行微调。例如保持SortExpression
和SortDirection
并检查gridview排序
事件。在问题更新后的中,您的问题有解决方法:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
更改此行:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
lnkHeader.Click += new EventHandler(lnkHeader_Click);
在事件处理程序中:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
void lnkHeader_Click(Object sender, EventArgs e)
{
sortExpression = "yoursortexpression"; //class level string or ViewState
SectionGridView_Sorting(null, null); //intentionally calling gridview sorting event
}
在gridview排序事件中:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
//Get the CourseID
populateSectionGrid();
DataTable dtSectionGridData = SectionGridView.DataSource as DataTable;
string sDirection = "ASC" ;
if(sortExpression == null)
{
SectionGridViewSortExpression = e.SortExpression;
sDirection = e.SortDirection;
}
else
SectionGridViewSortExpression = sortExpression
if (dtSectionGridData != null)
{
DataView dataView = new DataView(dtSectionGridData);
dataView.Sort = SectionGridViewSortExpression + " " + ConvertSectionSortDirectionToSql(sDirection);
SectionGridView.DataSource = dataView;
SectionGridView.DataBind();
}
}
注意:上述代码未经测试。可能需要对其进行微调。例如保持SortExpression
和SortDirection
并检查gridview排序
事件。在问题更新后的中,您的问题有解决方法:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
更改此行:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
lnkHeader.Click += new EventHandler(lnkHeader_Click);
在事件处理程序中:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
void lnkHeader_Click(Object sender, EventArgs e)
{
sortExpression = "yoursortexpression"; //class level string or ViewState
SectionGridView_Sorting(null, null); //intentionally calling gridview sorting event
}
在gridview排序事件中:
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);
protected void SectionGridView_Sorting(object sender, GridViewSortEventArgs e)
{
//Get the CourseID
populateSectionGrid();
DataTable dtSectionGridData = SectionGridView.DataSource as DataTable;
string sDirection = "ASC" ;
if(sortExpression == null)
{
SectionGridViewSortExpression = e.SortExpression;
sDirection = e.SortDirection;
}
else
SectionGridViewSortExpression = sortExpression
if (dtSectionGridData != null)
{
DataView dataView = new DataView(dtSectionGridData);
dataView.Sort = SectionGridViewSortExpression + " " + ConvertSectionSortDirectionToSql(sDirection);
SectionGridView.DataSource = dataView;
SectionGridView.DataBind();
}
}
注意:上述代码未经测试。可能需要对其进行微调。例如保持SortExpression
和SortDirection
并检查gridview排序
事件。在中,您似乎正在使用已存在的gridview\u排序事件绑定linkbutton click事件。您的节gridview\u排序
实现了事件处理程序
?您似乎正在使用已存在的gridview\u排序事件绑定linkbutton click事件。您的节gridview\u排序
实现了EventHandler
?您似乎正在绑定已存在的带有gridview\u排序事件的linkbutton click事件。您的部分gridview\u排序
实现了EventHandler
?您似乎正在绑定带有gridview\u排序事件的linkbutton click事件。您的SectionGridView\u排序
实现了EventHandler
?我在上面添加了一个现有的SectionGridView排序事件。我想合并此行,使其跨越两行。当我这样做时,我将失去在此列上排序的能力。我必须添加LinkButton才能进行排序。我需要在合并2个标题行后对该列进行排序。我尝试设置SortExpression,但这并没有使其可排序。我还尝试了以下操作:`lnkHeader.Click+=new GridViewSortEventHandler(SectionGridView_Sorting);`但这也不起作用,这是行不通的。您无法将gridview事件绑定到linkbutton。如何在合并行标题后对该列进行排序我在上面添加了一个现有的SectionGridView排序事件。我想合并此行,使其跨越两行。当我这样做时,我将失去在此列上排序的能力。我必须添加LinkButton才能进行排序。我需要在合并2个标题行后对该列进行排序。我尝试设置SortExpression,但这并没有使其可排序。我还尝试了以下操作:`lnkHeader.Click+=new GridViewSortEventHandler(SectionGridView_Sorting);`但这也不起作用,这是行不通的。您无法将gridview事件绑定到linkbutton。如何在合并行标题后对该列进行排序我在上面添加了一个现有的SectionGridView排序事件。我想合并此行,使其跨越两行。当我这样做时,我将失去在此列上排序的能力。我有
TableCell cellSecID = new TableHeaderCell();
cellSecID.HorizontalAlign = HorizontalAlign.Center;
cellSecID.RowSpan = 2;
LinkButton lnkHeader = new LinkButton();
lnkHeader.PostBackUrl = HttpContext.Current.Request.Url.LocalPath;
lnkHeader.CommandArgument = "SectionID";
lnkHeader.Text = "SectionID";
lnkHeader.Click += new EventHandler(SectionGridView_Sorting); //This is the problem
cellSecID.Controls.Add(lnkHeader);