在下面的代码中,我有一个数据网格,其中我有2列userid
和documentid
以及一个按钮。 我希望获得特定行的userid
,我该怎么做?
<asp:DataGrid Width="100%" ID="DocumentUsergrid"
PagerStyle-Mode="NumericPages" PageSize="10" PagerStyle-Visible="true"
AllowPaging="true" AllowSorting="true"
AlternatingRowStyle-CssClass="alt">
<AlternatingItemStyle BackColor="White" />
<asp:TemplateColumn HeaderText="DocumentID" ItemStyle-Width="150px" Visible="false" >
<ItemTemplate>
<asp:Label ID="lblOutputProductID_i" runat="server" Text='<%#Eval("DocumentID") %>' > </asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="UserID" ItemStyle-Width="150px" Visible="false" >
<ItemTemplate>
<asp:Label ID="lblSupportProductID_i" runat="server" Text='<%#Eval("UserID") %>' > </asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Insert" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Button ID="btnSubmit" runat ="server" OnClick="btnSubmit_Click" />
</ItemTemplate>
</Columns>
<HeaderStyle Font-Bold="True" ForeColor="White" />
<ItemStyle BackColor="#EFF3FB"/>
</asp:DataGrid>
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
Dictionary<string, string> OutputProductVal = new Dictionary<string, string>();
OutputProductVal.Add("UserID", );//To get userid of particular row
OutputProductVal.Add("DocumentID", ddlDocumentName.SelectedValue.ToString());
DocumentServiceClient oProduct = new DocumentServiceClient();
oProduct.InsertUserDocumentMap(OutputProductVal);
}
}
答案 0 :(得分:0)
您可以在网格视图中找到该行的用户ID标签。
foreach(DataGridItem item in DocumentUsergrid.Items)
{
Label l = item.FindControl("lblSupportProductID_i") as Label;
string userId = l.Text;
}
答案 1 :(得分:0)
使用类似的commandField列:
在ASPX中
<asp:CommandField ShowSelectButton="True" />
在代码隐藏
中处理DocumentUsergrid.SelectedIndexChanged事件以执行您想要的操作。
protected void DocumentUsergrid_SelectedIndexChanged(object sender, EventArgs e)
{
}
在事件代码中,您可以检索如下数据:
row = YOUR_GRID.Rows(e.RowIndex);
有关selectIndexChanged事件的更多信息,请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.selectedindexchanged(v=vs.110).aspx