2009-04-09 12 views
1
<asp:DataGrid ID="dgResetPassword" DataKeyField="user_id" OnItemCommand="resetSelect" CellPadding="10" HeaderStyle-BorderStyle="none" AutoGenerateColumns="False" runat="server" ForeColor="#333333" GridLines="None" Width="550px"> 
     <Columns> 
      <asp:ButtonColumn DataTextField="sap_id" HeaderText="SAP ID" /> 
      <asp:BoundColumn DataField="lastname" HeaderText="Last Name" /> 
      <asp:BoundColumn DataField="firstname" HeaderText="First Name"/> 
      <asp:BoundColumn DataField="username" HeaderText="User Name"/> 
      <asp:BoundColumn DataField="jobtitle" HeaderText="Job Title"/> 
      <asp:BoundColumn DataField="orgunit" HeaderText="Organization Unit"/> 
     </Columns> 
     <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
     <EditItemStyle BackColor="#999999" /> 
     <SelectedItemStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> 
     <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> 
     <AlternatingItemStyle BackColor="White" ForeColor="#284775" /> 
     <ItemStyle BackColor="#F7F6F3" ForeColor="#333333" /> 
     <HeaderStyle BackColor="#5D7B9D" BorderStyle="None" Font-Bold="True" ForeColor="White" /> 
    </asp:DataGrid> 

C'est la grille, voici la fonction ...Comment accéder au texte d'une BoundColumn sélectionnée d'un DataGrid?

Sub resetSelect(ByVal s As Object, ByVal e As DataGridCommandEventArgs) 
    lblResponse.Text = [want to access text of username here] 
    lblResponse.Visible = True 
    lblID.Text = dgResetPassword.DataKeys.Item(e.Item.ItemIndex) 
End Sub 

Comment puis-je faire référence aux éléments sélectionnés texte DataField pour nom d'utilisateur?

Répondre

3

nom d'utilisateur est dans la 3ème colonne. Donc, vous pouvez le faire (C#):

lblResponse.Text = e.Item.Cells[3].Text; 
0

Ce sera la manière de VB.net de le faire.

lblResponse.Text = e.Item.Cells(3).Text 

Il peut être avantageux pour vous de mettre en place une énumération qui représente les colonnes et leurs indices. En tant que tel votre code deviendra

lblResponse.Text = e.Item.Cells(DataColumns.Username).Text