2013-08-06 39 views
2

是否可以在不使用复选框的情况下在网格视图中选择多行?在没有复选框的情况下在gridview中选择多行

我的代码是这样的

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

回答

1

我们可以采取一个gridview内部和girdview行的点击隐藏字段,在选择指数时表示,发现在选定排隐藏的领域,我们可以把它作为1 。 现在每行的循环中,我们可以发现有隐藏字段值的行为1

,这是我认为我们能做到的方式,

在选择或取消的情况下选择,我们可以切换隐藏字段的值

0

你必须用一个变量/列表(最好是客户端)解决问题,在每个行上单击插入该变量中所选行的id(逗号在多行的情况下分隔)。如果该ID已经存在,那么从该变量中删除该ID(假设该行被点击两次并且不再需要该选择)。

0

这将是一个双重过程。首先是发出适当的回调。你可以这样做与$.ajax电话,如果你想要的,但它看起来像这样:

javascript:__doPostBack(&#39;ctl00$MainContent$GridView1&#39;,&#39;Select$**n**&#39;) 

该字符串的重要性是双重的,首先对电网的全名,和第二的n。它是您要选择的行(从零开始)的索引。之后,您需要从任何当前选定的行中删除类GridViewSelectedRowStyle,并将<tr>class更改为GridViewSelectedRowStyle。你可以很容易地通过选择它们删除:

$('.GridViewSelectedRowStyle').removeClass('GridViewSelectedRowStyle');. 

添加他们可以证明有点麻烦,但如果你通过引用时,它的点击了<tr>,它应该是相当直截了当。

相关问题