/ / Como posso tornar minhas linhas GridView clicáveis ​​clicando em qualquer lugar na linha? - c #, asp.net, linq, gridview

Como posso tornar minhas linhas GridView clicáveis ​​clicando em qualquer lugar da linha? - c #, asp.net, linq, gridview

Eu estou trabalhando em um projeto para a faculdade. É um site de loja onde os clientes podem fazer pedidos.

O que eu fiz até agora é preenchido o Gridview com produtos usando uma consulta linq.

Agora, o que estou tendo problemas é que quero tornar essas linhas clicáveis ​​para que eu possa executar o método gv_SelectedIndexChanged para que eu possa ter uma descrição do produto anexada a um rótulo abaixo.

Eu também quero poder passar dados para outropágina relacionada à linha que é selecionada quando clico em um botão. Estou razoavelmente confiante de que posso descobrir isso, mas fiz algo semelhante antes.

Então, minha pergunta é como posso tornar minhas linhas GridView clicáveis?

Este é o GridView que tenho.

<asp:GridView ID="gv" runat="server" OnSelectedIndexChanged="gv_SelectedIndexChanged">
</asp:GridView>

E este é o código que está preenchendo.

var products = from p in db.ProductTbls
select new
{
Name = p.ProductName,
Cost = p.UnitPrice.ToString(),
Stock = p.Quantity.ToString()
};

gv.DataSource = products.ToList().Distinct();
gv.DataBind();

Eu tentei usar um guia que eu encontrei on-line como fazê-lo, mas eu não era capaz de descobrir como fazê-lo funcionar. Guia

Respostas:

-1 para resposta № 1

@ConorS, acredito que a razão pela qual seu aplicativo étravar é que você está executando uma operação gananciosa antes de executar uma operação Preguiçosa. O que quero dizer é que você deve executar. Detectar antes .ToList () .. Assim, você deve escrevê-lo como:

 gv.DataSource = products.Distinct().ToList();

Operações gananciosas como ToList (), executam Imediatamente enquanto Operações como .Distinct são Adiadas .... você pode encontrar mais sobre os dois tipos Aqui!