>我有一个数据表(来自本地数据库),我正在尝试将答案表中的"QuestionID"与当前问题的ID进行比较,以便它在RadioButtonList(ASP.Net)中显示与该问题相关的四个答案。
它的工作在某种程度上,因为它获得了匹配的第一个结果并将单选按钮列表放入其中,但它没有得到其他三个匹配的结果。为什么?扯着我的头发盯着这段代码。
DataView dvQuestion = (DataView) sqldataQuestions.Select(new DataSourceSelectArguments());
lblQuestion.Text = string.Format(dvQuestion[questionCount]["QuestionText"].ToString());
DataView dvAnswers = (DataView) sqldataAnswers.Select(new DataSourceSelectArguments());
DataTable tblAnswers = dvAnswers.ToTable();
string value;
foreach (DataRow dr in tblAnswers.Rows)
{
int questionID = Convert.ToInt32(dr["QuestionID"]);
if (questionID == PgeNum)
{
string ansTxt = dr["AnswerText"].ToString();
rblAnswers.Items.Add(ansTxt);
}
}
试试这个。这将过滤 QuestionId 等于 pgeNum 的行。然后,您可以循环行以获得所需的结果。
DataRow[] rows = tblAnswers.Select("QuestionID = " + PgeNum);
if (rows.Length != 0)
{
foreach (DataRow dr in rows)
{
string ansTxt = dr["AnswerText"].ToString();
rblAnswers.Items.Add(ansTxt);
}
}