我有一个DataTable(来自本地数据库),我试图比较" QuestionID"在Answers表中,当前问题的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);
}
}
答案 0 :(得分:1)
试试这个。这将过滤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);
}
}