2009-10-26 54 views
1

我已經擴展了Gridview使其可點擊(即,當我們點擊任何行時,它被選中並根據所選行顯示詳細視圖) 。ASP.NET Gridview:我們如何才能找到在gridview中選擇了哪一列

然後,我添加了選擇/取消選擇該GridView中的所有複選框與JavaScript的幫助。現在的問題是,每次單擊複選框時,頁面都將被回發。我不希望這個我不想回發,如果這個特定的列元素,即複選框被按下。

有什麼辦法,我可以知道當回發發生時,哪些列被選中,以便我可以知道它是從具有複選框的列發生的。

請讓我知道,如果你有靈魂。

感謝,

+0

什麼是您的代碼,使整個行可點擊什麼樣子的?它是否生成回傳?我還用JavaScript重新簽署了您的問題,因爲您需要客戶端解決方案解決您的問題。 – 2009-10-26 21:54:37

回答

1

我發現我的問題的解決方案如下:

我們必須取消複選框中的事件冒泡,以免冒泡到Gridview RowClicked事件。

取消該事件鼓泡形式複選框的方法是如下:

cb.Attributes( 「點擊」)= 「event.cancelBubble = TRUE;」

其中cb是複選框。

希望這將幫助有相同的問題,因爲我做了別人,

感謝,

0

我,不知道你如何準確的複選框添加到您的GridView行,但如果你做服務器端確保AutoPostBack屬性爲(或每個)複選框設爲假。如果設置爲true,只要有人檢查/取消選中其中一個複選框,就會以回傳結束。

0

我們可以在GridView控件添加複選框,下面是我們需要的GridView裏面列的樣本代碼:

<asp:TemplateField HeaderText="Select"> 
<ItemTemplate> 
    <asp:CheckBox ID="chkBxSelect" runat="server" AutoPostBack ="false" /> 
</ItemTemplate> 
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="50px" /> 
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="50px" /> 
<HeaderTemplate> 
    <asp:CheckBox ID="chkBxHeader" onclick="javascript:HeaderClick(this);" runat="server" /> 
</HeaderTemplate> 

是否有可能在ASP.NET GridView中,我們回傳,如果我們點擊在Gridview的某些列中,當我們點擊某些選定的列時,我們不會回發。

例如我有一個GridView中的3列,我想回發如果我點擊列1和2,不想回發,如果我點擊列3.

相關問題