0

我想从gridview获取单元格值,但返回空字符串。我在radiobuttonlist的selectedindexchanged事件中实现了所有代码。我遍历gridview
并按代码访问单元格。但问题仍然存在。我使用了三个itemtemplate,每个
都有一个elemnt 以便每个元素都有自己的库 .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") 

%>'>

  </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(object sender, 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;


      }



            }
4

1 回答 1

3

我认为您正在寻找 gridview 的 RowUpdating 事件。下面的代码来自我几年前从事的一个项目,我必须从网格视图中的组合框中获取值。希望这将使您更接近解决方案。

    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 中的绑定列名。

于 2012-06-06T20:37:29.567 回答