我想从gridview获取单元格值,但返回空字符串。我已实现
radiobuttonlist的selectedindexchanged事件中的所有代码.I遍历gridview
并且通过代码访问单元格。但是问题仍然存在。我使用了三个itemtemplate,每个
有一个元素,以便每个元素得到自己的coulmn
的的.aspx
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false" >
<Columns>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("qno") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("description")
%GT;'&GT;
</ItemTemplate>
</asp:TemplateField>
<asp:RadioButtonList ID="RadioButtonList1" RepeatDirection="Horizontal"
runat="server" OnSelectedIndexChanged="changed" AutoPostBack="true" >
<asp:ListItem Value="agree" Selected="True" >
</asp:ListItem>
<asp:ListItem
Value="disagree">
</asp:ListItem>
<asp:ListItem Value="strongagree">
</asp:ListItem>
<asp:ListItem Value="strondisagree">
</asp:ListItem>
</asp:RadioButtonList>
</Columns>
</asp:GridView>
<asp:Label ID="Labe11" runat="server" ></asp:Label>
代码背后: public void changed(对象发送者,EventArgs e) {
for(int i=0;i<GridView2.Rows.Count;i++)
{
string labtext;
RadioButtonList list =
GridView2.Rows[i].Cells[2].FindControl("RadioButtonList1") as RadioButtonList;
labtext= GridView2.Rows[i].Cells[0].Text;
Label1.Text = labtext;
}
}
答案 0 :(得分:3)
我认为您正在为gridview寻找RowUpdating事件。下面的代码来自我几年前工作过的一个项目,我必须从gridview中的组合框中获取值。希望这会让您更接近解决方案。
protected void gvReconciliation_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
DropDownList dropDownListUser = gvReconciliation.Rows[e.RowIndex].FindControl("ddlSourceEdit") as DropDownList;
e.NewValues["source"] = dropDownListUser.SelectedItem.Text;
}
我的控件绑定到对象数据源,这就是为什么你在那里看到e.NewValues["source"]
的原因。 “Source”是我的ObjectDataSource中的绑定列名。