Madhu Nair Ответов: 1

ГАДЮКА.Чистая GridView можно ли как то восстановить на обратной передачи


Привет,

У меня есть редактируемый gridview, который заполняется нажатием кнопки "Загрузить данные".

Для сохранения отредактированных значений в сетке есть еще одна кнопка под названием "сохранить" на той же странице.

При нажатии кнопки Сохранить страница возвращается обратно, а значения gridview очищаются, из-за чего я не могу сохранить последние данные.

Я работаю над этим ASP.Net 4.0

Любая помощь будет очень признательна.

Код файла .cs --

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        populateDropDown();
    }
}

protected void btnLaunchTour_Click(object sender, EventArgs e)
{
    try
    {
        ///Code for populating Grid on Launch Button Click
        populateGrid(TourLaunchDAL.LaunchTour(0, Convert.ToInt32(ddlProduct.SelectedValue), Convert.ToInt32(txtNoOfTours.Text), UserDetails.UserID));
    }
    catch (Exception ex)
    {
        ErrorMessage = ex.Message;
    }

}

protected void populateGrid(List<TourLaunchBAL> lstTourSchedule)
{
    grdTourSchedule.DataSource = lstTourSchedule;
    grdTourSchedule.DataBind();
}

protected void populateDropDown()
{
    ListItem lstItem = new ListItem("Select", "0");

    ddlProduct.AppendDataBoundItems = true;
    ddlProduct.Items.Add(lstItem);

    ddlProduct.DataSource = CacheMaster.getProductsForLaunch();
    ddlProduct.DataTextField = "ProductName";
    ddlProduct.DataValueField = "ProductID";
    ddlProduct.DataBind();
}
protected void grdTourSchedule_RowCommand(object sender, GridViewCommandEventArgs e)
{

}
protected void grdTourSchedule_RowDataBound(object sender, GridViewRowEventArgs e)
{

}

protected void btnSave_Click(object sender, EventArgs e)
{
    foreach (GridViewRow gvRow in grdTourSchedule.Rows)
    {

    }
}





Спасибо

Thanks7872

При нажатии кнопки Сохранить зафиксируйте изменения в базе данных,а затем снова свяжите gridview.

Madhu Nair

При нажатии кнопки Сохранить я не получаю никаких строк gridview

Thanks7872

Воспользуйся Улучшить вопрос и опубликуйте соответствующий код для кнопки Сохранить,page_load.

Madhu Nair

я не заполняю сетку при загрузке страницы... но при нажатии кнопки... снова при нажатии кнопки Сохранить я пытаюсь сохранить данные... но не получаю никаких строк

Dholakiya Ankit

у вас есть добавленные
если(!страницы.ispostback)
{}
при загрузке страницы?

Madhu Nair

да... но опять же, я заполняю сетку при нажатии кнопки Загрузить данные

Dholakiya Ankit

Итак, заселение сделано, но при сохранении его не работает правильно?

Madhu Nair

Да... при нажатии кнопки Сохранить данные представления сетки очищаются

Dholakiya Ankit

поместите свой код в вопрос улучшения

1 Ответов

Рейтинг:
4

Madhu Nair

Удалось решить эту проблему, внеся следующие изменения в код--

защищенная пустота populateGrid(List<tourlaunchbal> lstTourSchedule)
{
grdTourSchedule.EnableViewState = true;

grdTourSchedule.Источник данных = lstTourSchedule;
grdTourSchedule.Привязку();
ViewState["lstTourSchedule"] = lstTourSchedule;
//grdTourSchedule.EnableViewState = true;

}
охраняемых недействительными в(объект отправителя, EventArgs в электронной)
{
if (!IsPostBack)
{
populateDropDown();
}

если (grdTourSchedule.Строк.Количество == 0)
{
grdTourSchedule.DataSource = (List<tourlaunchbal>)ViewState["lstTourSchedule"];
grdTourSchedule.Привязку();
}
}
Теперь я также могу получать измененные строки.

Спасибо за всю помощь