Я использую массовое обновление для обновления сетки.
Сначала пользователю предлагается выбрать даты, а затем нажать кнопку, чтобы отобразить данные сетки для этих дат. Обновите соответствующие ячейки и нажмите «Сохранить».
Дело в том, что мой Gridview исчезает после обновления. Я хочу, чтобы Gridview продолжал отображать обновленные данные. Как мне это сделать?
Фрагменты кода:
string connStr = ConfigurationManager.ConnectionStrings["bbsConnectionString"].ConnectionString;
using (SqlConnection Con = new SqlConnection(connStr))
{
SqlDataAdapter sdr = new SqlDataAdapter(str, Con);
sdr.SelectCommand.Parameters.AddWithValue("@startdate", startdate);
sdr.SelectCommand.Parameters.AddWithValue("@enddate", enddate);
DataTable dt = new DataTable();
sdr.Fill(dt);
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
GridView1.DataBind();
Button2.Visible = true;
}
}
protected void Button2_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
TextBox dtm = row.FindControl("DtmTextBox") as TextBox;
string connStr = ConfigurationManager.ConnectionStrings["bbsConnectionString"].ConnectionString;
using (SqlConnection Con = new SqlConnection(connStr))
{
Con.Open();
SqlCommand cmd = new SqlCommand("Update tblAvailable set intqty=@intQty, curprice=@curprice where intresortid=@intresortid and dtm=@dtm and strroomtype=@strroomtype", Con);
// cmd.Parameters.AddWithValue("@dtm", DateTime.ParseExact(dtm.Text.Trim(), "dd/M/yyyy", System.Globalization.CultureInfo.InvariantCulture));
cmd.ExecuteNonQuery();
GridView1.EditIndex = -1;
GridView1.DataBind();
GridView1.Visible = true;
}