无法从Gridview中的TextBox / DDL获取数据

时间:2016-02-19 14:39:52

标签: c# asp.net gridview

我一直在寻找网络并测试我认为可行的方法。我感觉很亲密,但我觉得不够近。我需要帮助提取数据。单击按钮是将数据提交/插入到我尚未完成该部分的数据库中。现在我正在努力从Gridview获取数据并需要帮助。

更新按钮位于Gridview之外。我希望最终用户完成GridView,然后单击“更新”以将数据从Gridview提交到数据库。

这是ASPX

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataSourceID="dsSnumbers" OnRowDataBound="GridView1_RowDataBound"
                                GridLines="Horizontal" BackColor="White" BorderColor="#336666" BorderStyle="Double" 
                                BorderWidth="3px">
                                <Columns>
                                    <asp:TemplateField HeaderText="SerialNumber">
                                        <ItemTemplate>
                                            <asp:TextBox ID="TextBox1" BackColor="BurlyWood" runat="server" Text='<%# Eval("SerialNumber") %>' ></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="Status">
                                        <ItemTemplate>
                                            <asp:DropDownList ID="DdStatus" runat="server" DataSourceID="Ds_Variables" DataTextField="Status" DataValueField="Value" Height="16px"></asp:DropDownList>

                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="Dept">
                                        <ItemTemplate>
                                            <asp:DropDownList ID="DdDept" runat="server" DataSourceID="Ds_Variables" DataTextField="Status" DataValueField="Value" Height="16px"></asp:DropDownList>

                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="Update">
                                        <ItemTemplate>
                                            <asp:CheckBoxList ID="CheckBoxList1" RepeatLayout="Flow" RepeatDirection="Horizontal"
                                                runat="server">
                                                <asp:ListItem Text="Modify?" Value="1">
                                                </asp:ListItem>
                                            </asp:CheckBoxList>
                                            <br />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                                <FooterStyle BackColor="White" ForeColor="#333333" />
                                <HeaderStyle BackColor="#336666" Font-Bold="True" ForeColor="White" />
                                <PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" />
                                <RowStyle BackColor="White" ForeColor="#333333" />
                                <SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />
                                <SortedAscendingCellStyle BackColor="#F7F7F7" />
                                <SortedAscendingHeaderStyle BackColor="#487575" />
                                <SortedDescendingCellStyle BackColor="#E5E5E5" />
                                <SortedDescendingHeaderStyle BackColor="#275353" />
                               <%-- <EmptyDataTemplate></EmptyDataTemplate>--%>
                            </asp:GridView>

这是.CS方面

protected void Button1_Click(object sender,EventArgs e)     {

    foreach (GridViewRow g1 in GridView1.Rows)
    {
        int RI = g1.RowIndex;
        //SqlConnection con = new SqlConnection(connStr);
        TextBox test = (TextBox)g1.Cells[0].FindControl("TextBox1");
        TextBox test1 = (TextBox)g1.Cells[1].FindControl("TextBox1");


        GridViewRow Grow = (GridViewRow)g1.NamingContainer;
        TextBox txtledName = (TextBox)Grow.FindControl("TextBox1");

        DropDownList testdd1 = (DropDownList)g1.Cells[0].FindControl("DdStatus");
        DropDownList testdd2 = (DropDownList)g1.Cells[1].FindControl("DdStatus");

        string test1324 = g1.Cells[1].Text;
        string test2 = g1.Cells[2].Text;
        string test3 = g1.Cells[3].Text;

    }

}

更新

当我运行以下内容时,我可以阅读按钮,单击是否选中。但是文本框和下拉列表仍然无效。我只展示rindex正在拉动价值。没有其他人。

foreach (GridViewRow row in GridView1.Rows)
    {
        int rindex = row.DataItemIndex;
        //string Test = ((TextBox)(row.Cells[0].Controls[0])).Text;
        TextBox IDNum = (TextBox)row.FindControl("TextBox1");
        string textBox1 = ((TextBox)row.FindControl("TextBox1")).Text;

        string ddl1 = ((DropDownList)row.FindControl("DdStatus")).SelectedValue;
        string ddl2 = ((DropDownList)row.FindControl("DdDept")).SelectedValue;

        int ddl1231 = ((DropDownList)row.FindControl("DdStatus")).SelectedIndex;
        int ddl1232 = ((DropDownList)row.FindControl("DdDept")).SelectedIndex;

0 个答案:

没有答案