我有一个带有 DataPager 控件的 ListView。我正在尝试显示一系列问题。每个问题及其选择都属于列表视图中的一个项目,我每页显示一个问题。选项是启用了自动回发的单选按钮。现在,根据用户对第一个问题的回答,我想过滤列表视图中的其余问题,以仅显示与用户选择相关的问题。此外,我不想从列表视图中完全删除其他问题,因为如果用户导航到第一个问题并更改他的回答,我希望列表相应地更改。有没有办法动态隐藏包含不相关问题的页面?
谢谢。
注意:列表项由自定义 sql 查询填充:
SELECT questionNumber,questionText,OptionA,OptionB,OptionC,OptionD,OptionE,OptionF,OptionG,OptionH,OptionI,OptionJ,OptionK,OptionL,Other,questionTag,subType from Questionairre
在此查询中,“subType”字段中的值应与第一个问题中的选择进行比较。第一个问题的子类型字段将不被检查。以下代码是我到目前为止所拥有的。变量“firstChoice”是存储从第一个问题回发的值的静态变量。
protected void ListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
ListViewDataItem di = (ListViewDataItem)e.Item;
Label q=new Label();
foreach(Control control in di.Controls)
{
if (control.GetType() == typeof(Label))
{
q = (Label)control;
if (q.ID == "subType" && q.Text != firstChoice)
{
di.Visible = false;
}
}
}
}