AspxGridView: Как получить значение ключевого поля или специального столбца по событию Click кнопки шаблона DataItem? - PullRequest
1 голос
/ 20 июня 2011

У меня есть AspxGridView и кнопка внутри шаблона DataItem одного столбца.Я использую событие Button_Click для этой кнопки, и мне нужно получить значения текущей строки в этом событии, когда я нажимаю на эту кнопку.События AspxGridView имеют свойства "e.Keys []" или "e.KeyValue" и т. Д., Но я не смог найти ничего для кнопки EventArgs.Как я могу получить значения столбцов или KeyValue?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 02 августа 2011

Вы также можете использовать подход Container.keyvalue следующим образом:

<dxwgv:GridViewDataTextColumn VisibleIndex="3" Caption="Simple Hyperlink Column">
    <DataItemTemplate>
        <a id="clickElement" target="_blank" href="Default2.aspx?id=<%# Container.KeyValue%>"><%# "Show New Form, Key Field = " + Eval("CategoryID").ToString()%></a>
    </DataItemTemplate>
</dxwgv:GridViewDataTextColumn>

Пример онлайн здесь: http://www.devexpress.com/Support/Center/e/E993.aspx

0 голосов
/ 29 декабря 2016

есть два пути

  1. использовать CommandArgument

ASP.NET

<dx:GridViewDataTextColumn>
    <DataItemTemplate>
        <asp:Button ID="btn_1" runat="server" OnClick="btn_1_Click" CommandArgument='<%# Eval("Id") %>' />
    </DataItemTemplate>
</dx:GridViewDataTextColumn>

И в C #

protected void btn_1_Click(object sender, EventArgs e)
    {
            int Id = Convert.ToInt32((sender as Button).CommandArgument);
    }

Таким образом, когда вы используете фильтр не работает нормально

Второй способ использования GridViewDataItemTemplateContainer

ASP.NET

<dx:GridViewDataTextColumn>
    <DataItemTemplate>
        <asp:Button ID="btn_1" runat="server" OnClick="btn_1_Click"/>
    </DataItemTemplate>
</dx:GridViewDataTextColumn>

C #

 protected void btn_1_Click(object sender, EventArgs e)
 {
     int Device_Id = Convert.ToInt32(((sender as Button).Parent as   devExpress.Web.GridViewDataItemTemplateContainer).KeyValue);
 }

я думаю, что второй способ лучше

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