关于将数组绑定到gridview

时间:2011-04-11 09:38:48

标签: asp.net

您好 我创建了会话数组:

 int[] a = (int[])Session["values"];

现在我必须将此值绑定到gridview。我在gridview中有一列(gridview中的boundfield)。 我使用代码将数组绑定到gridview,如下所示,但它只给出了最后一个值,因为我想要绑定所有值:

     for (int i = 0; i < a.Length; i++)
            {
                str = "select * from Quest_Info where Quest_id='" + a[i] + "' order by Quest_id";
                SqlDataAdapter da2 = new SqlDataAdapter(str, sqlconn);
                ds2 = new DataSet();
                da2.Fill(ds2, "Result");
            reviewgrid.DataSource = ds2;
            reviewgrid.DataBind();
}

哪个代码适用于此? Asp.net,c# 谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码可能无法正常工作,因为您尝试在for循环中绑定gridview,这会不断重复,最终只能绑定最后一个数组ID。

您可以尝试在绑定gridview之前准备好查询,如下所示。

string questIds = string.Empty;

for (int i = 0; i < a.Length; i++)
{
    if (questIds.Length > 0)
        questIds += ", ";

    questIds += a[i];  
}

 string strSQL = "select * from Quest_Info where Quest_id IN ("+ questIds + ") order by Quest_id";
 SqlDataAdapter da2 = new SqlDataAdapter(str, sqlconn);
 ds2 = new DataSet();
 da2.Fill(ds2, "Result");
 reviewgrid.DataSource = ds2;
 reviewgrid.DataBind();