gridview на выбранном событии строки - PullRequest
0 голосов
/ 16 марта 2012

Как мне сделать grdiview для события выбранной строки?На исходной странице я добавил

    OnSelectedIndexChanged="grdTanks_OnSelectRow"

в коде позади, я поставил функцию

        protected void grdTanks_OnSelectRow(Object sender, GridViewCommandEventArgs e)
        {

        }

Когда я пытаюсь сделать это таким образом, я не получаю перегрузки для совпадений grdTanks_OnSelectRowделегировать System.EventHandler

Если я изменю GridViewComandEventArgs на EventArgs, то это не позволит мне сделать

    if (e.CommandName == "Select")

Кто-нибудь знает, как сделать событие OnSelectRow для gridview?Спасибо

Я также добавил этот код:

        protected void grdTanks_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (e.Row.RowIndex != -1)
        {
            e.Row.Attributes["onmouseover"] = "this.style.cursor='hand';this.style.background='#3260a0';;this.style.color='white'";
            if (e.Row.RowIndex % 2 == 1)
            {
                e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.background='white';this.style.color='black'";
            }
            else
            {
                e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.background='#bEc8bE';this.style.color='black'";
            }

            e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.grdTanks, "Select$" + Convert.ToString(DataBinder.Eval(e.Row.DataItem, "CargoTankID")));
        }
    }

}

Ответы [ 3 ]

3 голосов
/ 16 марта 2012

Вы можете попробовать это:

В page_load введите

grdTanks.SelectedIndexChanged += 

и дважды нажмите вкладку. Visual Studio автоматически генерирует обработчик для вас. Вторым параметром будет EventArgs

1 голос
/ 16 марта 2012

Я не уверен, что вы хотите сделать в этом обработчике событий.Вы уже обрабатываете событие выбора, и я думаю, нет необходимости проверять снова для (e.CommandName == "Select"). ( MSDN : Событие SelectedIndexChanged возникает при нажатии кнопки Выбрать в строке).В сообщении об ошибке не указано перегрузка для события, и вы должны использовать аргумент EventArgs.

protected void grdTanks_OnSelectRow(Object sender, EventArgs e)
{ 
   // May be you want like..
   // Get the currently selected row using the SelectedRow property.
   GridViewRow row = YourGridViewID.SelectedRow;

}
1 голос
/ 16 марта 2012

Я думаю, что вы должны изменить

 protected void grdTanks_OnSelectRow(Object sender, GridViewCommandEventArgs e)

Для

 protected void grdTanks_SelectedIndexChanged(Object sender, GridViewCommandEventArgs e)

В вашем коде позади

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...