Я использую массовое обновление для обновления gridview.Gridview для отображения после обновления
Сначала пользователю предлагается выбрать даты, а затем нажать кнопку, чтобы отобразить данные gridview для этих дат. Обновите соответствующие ячейки и нажмите «Сохранить».
Дело в том, что мой 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 [email protected], [email protected] where [email protected] and [email protected] and [email protected]", 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;
}
За исключением того, что datatable dt в button1_click, в то время как обновление выполняется в button1_click – user1270384
Создайте метод для загрузки и заполнения данных в сетке, например FillGrid(), и вызовите инструкцию после обновления, и где бы вы ни были d для заполнения сетки – Adil
У вас есть пример, пожалуйста – user1270384