我有一个带有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;
}
}
}
}