是否可以在网格视图中选择多行而不使用复选框?
我的代码就是这个
<asp:GridView ID="Grid_add_data" runat="server" AutoGenerateColumns="False" BackColor="White"
ShowFooter="True" CssClass="mGrid" meta:resourcekey="Grid_add_dataResource1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkRows" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="From Time" meta:resourcekey="TemplateFieldResource1">
<ItemTemplate>
<asp:Label ID="Lbl_from_time" runat="server" Text='<%# Bind("FromTime") %>' meta:resourcekey="Lbl_from_timeResource1"></asp:Label></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="To Time" meta:resourcekey="TemplateFieldResource2">
<ItemTemplate>
<asp:Label ID="Lbl_to_time" runat="server" Text='<%# Bind("ToTime") %>' meta:resourcekey="Lbl_to_timeResource1"></asp:Label></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Quantum(MW)" meta:resourcekey="TemplateFieldResource3">
<ItemTemplate>
<asp:Label ID="Lbl_quantum" runat="server" Text='<%# Bind("Quantum") %>' meta:resourcekey="Lbl_quantumResource1"></asp:Label></ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle CssClass="GridViewSelectedRowStyle" VerticalAlign="Top" />
<FooterStyle CssClass="GridViewFooterStyle" />
<HeaderStyle BackColor="#6699FF" CssClass="GridViewHeaderStyle" Font-Bold="True"
ForeColor="White" VerticalAlign="Bottom" />
<PagerStyle CssClass="GridViewPagerStyle" />
<RowStyle CssClass="GridViewRowStyle" HorizontalAlign="Center" VerticalAlign="Top" />
<SelectedRowStyle CssClass="GridViewSelectedRowStyle" VerticalAlign="Top" />
</asp:GridView>
答案 0 :(得分:1)
我们可以在gridview中取一个隐藏字段,点击girdview行,意味着在选定的索引事件上,找到所选行中的隐藏字段,我们可以将其设为1。 现在有了每行的循环,我们可以找到隐藏字段值为1的行
这就是我认为我们可以实现的方式,
在select和de select的情况下,我们可以切换隐藏字段的值
答案 1 :(得分:0)
您必须使用变量/列表(最好是客户端)进行解决,其中单击每一行会在该变量中插入所选行的ID(在多行的情况下以逗号分隔)。如果id已经存在,那么从该变量中删除该id(假设该行被单击两次而不再需要选择)。
答案 2 :(得分:0)
这将是一个双重过程。第一个是发出适当的回调。如果你愿意的话,你可以通过$.ajax
电话来做到这一点,但看起来像这样:
javascript:__doPostBack('ctl00$MainContent$GridView1','Select$**n**')
该字符串的重要性有两个,首先是网格的完全限定名称,第二个是n
。它是您要选择的行(从零开始)的索引。之后,您需要从当前选定的任何行中删除课程GridViewSelectedRowStyle
,并将class
的{{1}}更改为<tr>
。您可以通过选择它们轻松删除它们:
GridViewSelectedRowStyle
添加它们可能会有点棘手,但是如果你在点击它时将引用传递给$('.GridViewSelectedRowStyle').removeClass('GridViewSelectedRowStyle');.
,它应该非常简单。