我无法尝试为我正在处理的这个项目输入数据。我有三个GridViews
我希望用查询中的三组数据填充。下面的代码只生成三个网格;所有这些都复制了第三组。
我要做的是获取第一组并将其放入第一个网格,获取第二组并将其放入第二个网格,第三组设置为第三个网格。
我不知道为什么它只检索最后一组。我认为它与适配器方法有关?
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ISALog1ConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("exec ProxyReport", conn);
cmd.CommandTimeout = 200;
SqlDataAdapter ad = new SqlDataAdapter(cmd);
ad.Fill(dt);
ad.Fill(dt2);
ad.Fill(dt3);
GridView1.DataSource = dt;
GridView1.DataBind();
GridView2.DataSource = dt2;
GridView2.DataBind();
GridView3.DataSource = dt3;
GridView3.DataBind();
}
}
这是它得到的结果,它将最后一组设置在底部并将其复制3次。我理解代码做了同样的事情,这就是为什么它重复,但为什么第三组而不是第一组或中间组?如何让第一个网格获得第一组,第二个网格获得第二组?
答案 0 :(得分:1)
尝试使用数据集,并从数据集中获取数据表。
DataSet dataSet = new DataSet();
SqlDataAdapter ad = new SqlDataAdapter(cmd);
ad.Fill(dataSet);
GridView1.DataSource = dataset.Tables[0];
GridView1.DataBind();
GridView2.DataSource = dataset.Tables[1];
GridView2.DataBind();
GridView3.DataSource = dataset.Tables[2];
GridView3.DataBind();