Как вставить 3 набора данных в asp.net
У меня возникли проблемы при попытке ввести данные для этого проекта, над которым я работаю. у меня есть три 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();
}
}
Вот то, что он получает, он получает последний сет внизу и дублирует его три раза. Я понимаю, что код делает то же самое, поэтому он дублирует, но почему третий набор, а не первый или средний? Как получить первую сетку с первым набором, а второй - со вторым?
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();