【问题标题】:How to make a Gridview template field select the row of data?如何使 Gridview 模板字段选择数据行?
【发布时间】:2011-08-17 00:41:03
【问题描述】:

我在 gridview 中有一个命令字段,它按原样工作。当我选择它时,该行被突出显示。但是,我需要将此字段转换为模板,因此我可以给它一个我可以在使用 AJAX Mobal 控件时引用的 ID。我这样做了,我可以用我的 Ajax 控件引用它就好了,但是,现在这个字段没有选择 Gridview 中的行? Ajax 控件需要 Select 值来提取数据。所以我认为我的问题是,我如何使用这个命令字段作为模板,并让它选择行?我希望我能正确解释我的问题。
这是我将其转换为模板时的代码 sn-p。 谢谢!

   <asp:GridView ID="GridView3" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="3" DataKeyNames="Contact_ID" DataSourceID="SqlDataSource2" ForeColor="#333333" GridLines="None" PageSize="6">
         <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
             <Columns>
                <asp:TemplateField ShowHeader="False">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Select" Text="Edit"></asp:LinkButton>
                       <asp:ModalPopupExtender ID="ModalPopupExtender2" runat="server" TargetControlID="LinkButton1" PopupControlID="DetailsView1" BackgroundCssClass="modalBackground"></asp:ModalPopupExtender>
                    </ItemTemplate>
                 </asp:TemplateField>
                 <asp:BoundField DataField="Contact_ID" HeaderText="Contact_ID" InsertVisible="False" ReadOnly="True" SortExpression="Contact_ID" Visible="False" />
                 <asp:BoundField DataField="Contact_Assigned_Username" HeaderText="Username" SortExpression="Contact_Assigned_Username" />
                 <asp:BoundField DataField="Contact_First_Name" HeaderText="First Name" SortExpression="Contact_First_Name" />
                 <asp:BoundField DataField="Contact_Last_Name" HeaderText="Last Name" SortExpression="Contact_Last_Name" />
                 <asp:BoundField DataField="Contact_Email_Address" HeaderText="Email Address" SortExpression="Contact_Email_Address" />
                 <asp:BoundField DataField="Contact_Cell_Phone" HeaderText="Cell Phone" SortExpression="Contact_Cell_Phone" />
                 <asp:CheckBoxField DataField="Contact_Administrator" HeaderText="Admin" SortExpression="Contact_Administrator" />
                 <asp:CheckBoxField DataField="Contact_LineStat_Triggers_Email" HeaderText="Email Triggers" SortExpression="Contact_LineStat_Triggers_Email" />
                 <asp:CheckBoxField DataField="Contact_LineStat_Triggers_Text" HeaderText="Text Triggers" SortExpression="Contact_LineStat_Triggers_Text" />
                 <asp:CheckBoxField DataField="Contact_Web_Portal" HeaderText="Web Access" SortExpression="Contact_Web_Portal" />
                 <asp:BoundField DataField="Contact_Customer_ID" HeaderText="Contact_Customer_ID" SortExpression="Contact_Customer_ID" Visible="False" />
              </Columns>
         <EditRowStyle BackColor="#999999" />
         <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
         <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
         <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
         <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
         <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
         <SortedAscendingCellStyle BackColor="#E9E7E2" />
         <SortedAscendingHeaderStyle BackColor="#506C8C" />
         <SortedDescendingCellStyle BackColor="#FFFDF8" />
         <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
     </asp:GridView>

【问题讨论】:

  • 请努力格式化您的代码,以便下次阅读。

标签: asp.net gridview ajaxcontroltoolkit


【解决方案1】:

在 RowDataBound 事件中,尝试如下操作:

protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e)
{
    LinkButton btn = (LinkButton)e.Row.FindControl("LinkButton1");
    btn.OnClientClick = Page.ClientScript.GetPostBackEventReference(GridView3, "Select$" + e.Row.RowIndex.ToString()));
}

【讨论】:

  • 感谢您的帮助。我把它放在后面的 vb.net 代码中了吗?
  • 在 ASPX 中分配 OnRowDataBound 事件处理程序,并使用此代码处理后面代码中的事件。在这种情况下,VB 语法应该非常相似。
  • 我还没弄明白,但感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
  • 2010-12-12
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
相关资源
最近更新 更多