簡體   English   中英

如何通過單擊行上的任意位置使Gridview行可點擊?

[英]How can I make my Gridview rows clickable by clicking anywhere on the row?

我正在為一個大學項目。 這是一個商店網站,客戶可以在此網站下訂單。

到目前為止,我所做的是使用linq查詢在Gridview中填充了產品。

現在,我遇到的麻煩是我想使這些行可單擊,以便執行gv_SelectedIndexChanged方法,以便在下面的標簽上附加產品說明。

我還希望能夠將數據傳遞到與單擊按鈕時所選行相關的另一頁。 我有足夠的信心可以解決這個問題,之前我做過類似的事情。

所以我的問題是如何使Gridview行可點擊?

這是我擁有的Gridview。

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

這是填充它的代碼。

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();

我嘗試使用在網上找到的指南來做,但是我不知道如何使它起作用。 指南

@ConorS,我相信您的應用程序崩潰的原因是您在執行惰性操作之前先執行貪婪的操作。 我的意思是您應該在.ToList()之前執行.Distinct。因此,您應該將其編寫為:

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

諸如ToList()之類的貪婪操作會在延遲諸如.Distinct之類的操作時立即執行。...您可以在此處找到有關這兩種類型的更多信息!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM