Кликабельная строка в GridView и редактирование строки - PullRequest
3 голосов
/ 21 июля 2011

У меня проблема с редактируемым видом сетки. то, что я хочу сделать, это заменить функцию кнопки редактирования, используя одну кликабельную строку. Когда я щелкаю строку, она пересылает меня на новую страницу для редактирования этих данных строки. Как этого добиться, не используя кнопку редактирования?

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    // only apply changes if its DataRow

    if (e.Row.RowType == DataControlRowType.DataRow)
    {

        // when mouse is over the row, save original color to new attribute, and change it to highlight yellow color

        e.Row.Attributes.Add("onmouseover",
        "this.originalstyle=this.style.backgroundColor;this.style.backgroundColor='#EEFF00'");



        // when mouse leaves the row, change the bg color to its original value   

        e.Row.Attributes.Add("onmouseout",
        "this.style.backgroundColor=this.originalstyle;");            

    }
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        string abc = ((GridView)sender).DataKeys[e.Row.RowIndex].Value.ToString();
        e.Row.Attributes["onClick"] = "location.href='Default.aspx?id=" + abc + "'";
        //e.Row.Attributes["onClick"] = "location.href='Default.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "CategoryID") + "'";         

        e.Row.Attributes.Add("style", "cursor:pointer;");

    }

}

1 Ответ

0 голосов
/ 21 июля 2011

Просто добавьте элементы управления, как вы хотите, в Default.aspx и при событии загрузки страницы default.aspx (не в состоянии обратной передачи) получить запись по идентификатору и заполнить элементы управления.

Теперь, когда нажата кнопка отправки, обновите записьи перенаправить обратно на исходную страницу

...