Как получить выбранное значение из GridView (C #) - PullRequest
1 голос
/ 15 мая 2010

У меня есть GridView, что позволяет выбрать. Это берет данные от EntityDataSource. Как получить объект сущности, выбранный при выборе строки в GridView? Первичные ключи сущностей не отображаются в GridView.

Спасибо за ответы

Ответы [ 4 ]

1 голос
/ 15 мая 2010

Если вы используете поле шаблона в вашем сеточном представлении, вы можете передать первичный ключ в свойстве CommandArgument для вашей команды select. Пример:

<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton ID="btnSelect" runat="server" Text="Select"                                  CommandName="select" CommandArgument='<%# Eval("My_Primary_Key") %>' />
    </ItemTemplate>
</asp:TemplateField>

Затем, когда пользователь нажимает кнопку «выбрать», это вызывает событие «RowCommand» в вашем виде сетки. Если вы захватите это событие и проверите свойство e.CommandArgument, вы сможете получить доступ к первичному ключу, соответствующему выбранной строке:

protected void myGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName.Equals("select", StringComparison.CurrentCultureIgnoreCase))
    {
        int primaryKeyInteger = Convert.ToInt32(e.CommandArgument);
        // Do other stuff ...
    }
}

Надеюсь, это поможет!

0 голосов
/ 16 мая 2010

Вы можете использовать первичный ключ, перейти к базе данных, искать запись по первичному ключу. Так что затем в программе используйте класс для получения данных. (C # является свойством)

0 голосов
/ 15 мая 2010

вы можете использовать скрытый контроль в виде сетки, чтобы скрыть первичные ключи

0 голосов
/ 15 мая 2010

Вы можете либо использовать свойство поля DataKeyNames вида сетки, либо вы также можете поместить скрытое значение и привязать данные к событию с привязкой к данным. Используя скрытое поле Gridview выбранного события, вы находите скрытое поле и получаете значение оттуда. Спасибо Следующая ссылка поможет вам.

http://forums.asp.net/t/951615.aspx

...