【问题标题】:how to access gridview particular row data如何访问gridview特定的行数据
【发布时间】:2016-08-17 08:24:19
【问题描述】:

我在 asp.net 页面中有一个 gridview 控件,其中一些值在 boundfield 中,一些在 template field 中。我想在单击选择按钮时绑定特定记录,并且相应的值应该绑定到页面上的不同控件(例如我有文本框、单选按钮、下拉列表等)。 这是我的代码:

<asp:GridView ID="gvrooms" OnRowCommand="gvrooms_RowCommand"  OnRowDataBound="gvrooms_RowDataBound1" runat="server"  AutoGenerateColumns="false" >
      <Columns>
          <asp:TemplateField>
                <ItemTemplate>
                     <asp:HiddenField ID="hfID" Value='<%#Eval("RoomID") %>' runat="server" Visible="false" />
                     <asp:HiddenField ID="hfexbed" Value='<%# Eval("ExtraBed") %>' runat="server" Visible="false" />
                     <asp:HiddenField ID="hfnoofexbed" Value='<%# Eval("NoOfExtraBed") %>' runat="server" Visible ="false" />
                     <asp:HiddenField ID="hfdesc"  Value='<%# Eval("Description") %>' runat="server" Visible="false" />
             </ItemTemplate>
        </asp:TemplateField>
       <asp:BoundField HeaderText="Room No" DataField="RoomNo" />
     <asp:BoundField HeaderText="Room Type" DataField="RoomType" />
      <asp:BoundField HeaderText="Floor No" DataField="FloorNo" />
       <asp:BoundField HeaderText="Room Status" DataField="RoomStatus" />
        <asp:BoundField HeaderText="Capacity" DataField="Capacity" />
        <asp:BoundField HeaderText="Room Price" DataField="RoomPrice" />
         <asp:TemplateField>
              <ItemTemplate>
                   <asp:LinkButton Text="Select" ID="lnkSelect" CommandName="Select" runat="server"></asp:LinkButton>
              </ItemTemplate>
        </asp:TemplateField> 
 </Columns>
</asp:GridView>

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:
     <asp:TemplateField>
                  <ItemTemplate>
                       <asp:LinkButton Text="Select" ID="lnkSelect" CommandName="Select" runat="server" 
    OnClick="lnkSelect_Click"></asp:LinkButton>
                      </ItemTemplate>
            </asp:TemplateField> 
    

    将您的 BoundField 转换为 TemplateFiled 和 On Button Select 点击 Find the Controls

         protected void lnkSelect_Click(object sender, EventArgs e)
         {
           GridViewRow clickedRow = ((LinkButton)sender).NamingContainer as GridViewRow;
    
           Label lbroomprice= (Label)clickedRow.FindControl("lbroomprice");
           string RoomPrice = lbroomprice.Text;
         }
    

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多