Virendra S from Bangalore, Karnataka Ответов: 1

Как обновить(Очистить данные GV) gridview при нажатии кнопки события? C# ASP.NET


Я привязываю данные к gridview при нажатии кнопки с вводом,если записи существуют, GV будет отображать данные, если нет записей с входными данными, то он будет отображать некоторые msg,
Когда, если условие истинно загружает данные, и отображает, если условие не выполняется, то сообщение будет отображаться, но старые данные GV будет по-прежнему отображаться на странице, Как очистить эти данные ? я хочу, чтобы отобразить только сообщение когда если условие не выполняется.

protected void btnGV1_Click(object sender, EventArgs e)
{
    string personid = TBpersonid.Text;
    String connstring = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
    SqlConnection con = new SqlConnection(connstring);
    SqlCommand cmd = new SqlCommand("select * from[Transactions_log] where person_id=@personid ", con);
    cmd.Parameters.AddWithValue("@personid",personid);
    con.Open();
    SqlDataReader Er = cmd.ExecuteReader();
    if (Er.HasRows==true)
    {
        GV1.DataSource = Er;
        GV1.DataBind();
    }
    else
    {
        Response.Write("No records found for the user: "+personid+"");
    }
}


Что я уже пробовал:

если (!IsPostBack) работает ? если да, то как это реализовать?

1 Ответов

Рейтинг:
8

Vincent Maverick Durano

GridView будет отображаться только в том случае, если с ним связаны данные. Вы связали свои руки? GridView на Page_Load событие? Если вы это сделали, то убедитесь, что вы обернули свой код внутри !IsPosBack блок:

protected void Page_Load(object sender, EventArgs e)
{
     if(!IsPostBack){
           //bind your gridview here
     }
}


Если вы хотите заставить свою GridView чтобы очистить данные и скрыть их, вы можете установить для источника данных значение nothing like this:

GV1.DataSource = null;
Gv1.DataBind();


Virendra S from Bangalore, Karnataka

Нет, я добавил ниже код в событие загрузки страницы, проблема решена, теперь он работает. Я не использую (!IsPostBack).

охраняемых недействительными в(объект отправителя, EventArgs в электронной)
{
GV1.Источник данных = значение null;
GV1.DataBind();
}