我有一个GridView -
<asp:GridView ID="table_example" Runat="server"
DataSourceID="SqlDataSource3" AutoGenerateColumns="False"
ClientIDMode="Static" onprerender="table_example_PreRender">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:Label ID="Label1" runat="server" Text="Select"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkRow" runat="server" OnCheckedChanged="CheckBoxPN_CheckedChanged" AutoPostBack="true"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="profileID" DataField="profileID"
SortExpression="profileID"></asp:BoundField>
<asp:BoundField HeaderText="profileName" DataField="profileName"
SortExpression="profileName"></asp:BoundField>
</Columns>
</asp:GridView>
chkRow
-
protected void CheckBoxPN_CheckedChanged(Object sender, EventArgs e)
{
CheckBox chk = (CheckBox)sender;
GridViewRow row = (GridViewRow)chk.NamingContainer;
//when a user clicks the checkbox I need the string from profileName in that row.
}
在调试时,我可以进入checkBox更改事件,但是需要从{1}单元格的相应行单元格中检索字符串。
我尝试过这样的事情 -
profileName
然而这不起作用,我怎么能得到字符串?
答案 0 :(得分:4)
如果您使用BoundField
,则需要使用Cells[index].Text
。因为它在第三列:
string profileName = row.Cells[2].Text;
答案 1 :(得分:0)
你可以像
一样Ex: 你可以马上给出像;
string profilename = gridview.Rows[0].Cells[1].Text;