ASP.NET Gridview:我们如何找到gridview中选择的列

时间:2009-10-26 19:57:19

标签: asp.net javascript gridview

我已将Gridview扩展为Clickable(即,当我们点击任何行时,它会被选中,并根据所选行显示详细视图。)

然后我在javascript的帮助下添加了选择/取消选择GridView中的所有CheckBox。现在的问题是,每次单击复选框时页面都会被回发。我不希望这样,如果按下这个特定的列元素,即复选框,我不希望发生回发。

有什么方法可以让我知道当回发发生时正在选择哪一列,以便我可以知道它发生在具有复选框的列中。

如果你有灵魂,请告诉我。

谢谢,

3 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法如下:

我们必须从Checkbox取消事件冒泡,以便它不会冒泡到Gridview RowClicked事件。

取消事件冒泡表单复选框的方法如下:

cb.Attributes(“onclick”)=“event.cancelBubble = true;”

其中cb是复选框。

希望这会帮助其他人遇到与我相同的问题,

谢谢,

答案 1 :(得分:0)

我不确定您是如何将复选框添加到gridview行的,但如果您这样做,服务器端请确保(或每个)复选框的AutoPostback属性设置为false。如果设置为true,只要有人检查/取消选中您的某个复选框,您就会收到回发。

答案 2 :(得分:0)

我们可以在gridview中添加复选框,下面是GridView的Columns中需要的示例代码:

<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>

如果我们在Gridview的某些列中单击并且在单击某些选定列时不回发,那么在ASP.NET Gridview中是否可以回发。

e.g。我在gridview中有3列,如果我单击第1列和第2列,我想要回发,如果我在第3列中单击,则不想要回发。