使用 GridView 的列对行进行排序 object returns 无结果
Sortings rows using columns of GridView object returns no results
我已经更改了 SqlDataSource 的 select 查询 object 并像这样将它绑定到 GridView
protected void Button1_Click(object sender, EventArgs e)
{
if (ddlBloodGroup.SelectedValue != "Any")
{
bg = " And BloodGroup='" + ddlBloodGroup.SelectedValue + "'";
}
if (ddlRh.SelectedValue != "Any")
{
rh = " And Rh='" + ddlRh.SelectedValue + "'";
}
q = "select * from Donor Where 1=1 "+bg+rh;
SqlDataSource1.SelectCommand = q;
SqlDataSource1.DataBind();
GridView1.DataBind();
}
结果一目了然
但是当我单击列标题以按该列排序时,数据消失了
你必须处理排序事件
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
if (ddlBloodGroup.SelectedValue != "Any")
{
bg = " And BloodGroup='" + ddlBloodGroup.SelectedValue + "'";
}
if (ddlRh.SelectedValue != "Any")
{
rh = " And Rh='" + ddlRh.SelectedValue + "'";
}
q = "select * from Donor Where 1=1 "+bg+rh;
SqlDataSource1.SelectCommand = q;
SqlDataSource1.DataBind();
GridView1.DataBind();
}
当然你需要允许排序
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSource1" AllowSorting="True"
onsorting="GridView1_Sorting">
我已经更改了 SqlDataSource 的 select 查询 object 并像这样将它绑定到 GridView
protected void Button1_Click(object sender, EventArgs e)
{
if (ddlBloodGroup.SelectedValue != "Any")
{
bg = " And BloodGroup='" + ddlBloodGroup.SelectedValue + "'";
}
if (ddlRh.SelectedValue != "Any")
{
rh = " And Rh='" + ddlRh.SelectedValue + "'";
}
q = "select * from Donor Where 1=1 "+bg+rh;
SqlDataSource1.SelectCommand = q;
SqlDataSource1.DataBind();
GridView1.DataBind();
}
结果一目了然
但是当我单击列标题以按该列排序时,数据消失了
你必须处理排序事件
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
if (ddlBloodGroup.SelectedValue != "Any")
{
bg = " And BloodGroup='" + ddlBloodGroup.SelectedValue + "'";
}
if (ddlRh.SelectedValue != "Any")
{
rh = " And Rh='" + ddlRh.SelectedValue + "'";
}
q = "select * from Donor Where 1=1 "+bg+rh;
SqlDataSource1.SelectCommand = q;
SqlDataSource1.DataBind();
GridView1.DataBind();
}
当然你需要允许排序
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSource1" AllowSorting="True"
onsorting="GridView1_Sorting">