选择隐藏的边界

时间:2016-11-29 07:52:24

标签: c# asp.net gridview

我在这里完成了我的研究,现在我可以成功获得gridview中隐藏的boundfield列的值。问题是我无法定位我选择的行的隐藏列。

我可以在隐藏列上使用GridView1.SelectedRow.Cells[7].Text;这样的东西吗。这可能吗?

这是我的代码:

   protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        //GridView1.Columns[7].Visible = true;
        //stock_id_gridview_1();
        foreach (GridViewRow row in GridView1.Rows)
        {
            string id = GridView1.DataKeys[row.RowIndex]["id"].ToString();

            con.Open();
            cmd = new SqlCommand(@"SELECT transaction_id,transaction_number 
                               FROM stocks_history
                               WHERE id = @id", con);

            cmd.Parameters.AddWithValue("@id", id);

            rdr = cmd.ExecuteReader();

            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    transaction_id = rdr["transaction_id"].ToString();

                    //lbl_test_id.Text = rdr["transaction_id"].ToString();
                    transaction_number = rdr["transaction_number"].ToString();

                    lbl_test_id.Text = transaction_id + " " + transaction_number;
                }
            }

            con.Close();
        }

这是我的gridview:

<asp:GridView ID="GridView1"
                        CssClass="table table-hover table-striped"
                        runat="server"
                        AutoGenerateColumns="False" DataKeyNames="id" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
                        <Columns>
                            <asp:BoundField DataField="productName" HeaderText="Product Name"
                                SortExpression="DateField" />
                            <asp:BoundField DataField="stock_name" HeaderText="Stock Name"
                                SortExpression="DateField" />
                            <asp:BoundField DataField="stock_id" HeaderText="Stock I.D."
                                SortExpression="DateField" />
                            <asp:BoundField DataField="stock_in" HeaderText="Stock In"
                                SortExpression="DateField" />
                            <asp:BoundField DataField="stock_out" HeaderText="Stock Out"
                                SortExpression="DateField" />
                            <asp:BoundField DataField="stock_on_hand" HeaderText="On hand"
                                SortExpression="DateField" />
                            <asp:BoundField DataField="max_date" HeaderText="Date & Time"
                                DataFormatString="{0:MM-dd-yyyy hh:mm tt}"
                                SortExpression="DateField" />
                            <asp:BoundField DataField="id" Visible="false" HeaderText="id"
                                SortExpression="DateField" />
                            <asp:TemplateField>
                                <ItemTemplate>
                                    <asp:HiddenField ID="HiddenField1" runat="server"
                                        Value='<%# Eval("id") %>' />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:ButtonField Text="Select" ControlStyle-CssClass="btn btn-info btn-sm" CommandName="Select" ItemStyle-Width="150" HeaderText="Review">
                                <ControlStyle CssClass="btn btn-info btn-sm"></ControlStyle>

                                <ItemStyle Width="150px"></ItemStyle>
                            </asp:ButtonField>
                        </Columns>
                    </asp:GridView>

我想定位这个绑定字段:

    <asp:BoundField DataField="id" Visible="false" HeaderText="id"
                                SortExpression="DateField" />

1 个答案:

答案 0 :(得分:0)

如果您使用属性df = pd.DataFrame(columns=['Val']) df['Val']=list(df2['values']) ,则可以从隐藏列中获取值,例如

使用属性

DataKeyNames

您可以访问数据

   <asp:GridView runat="server" ID="GridView" DataKeyNames="id">
    </asp:GridView>

获取所选行隐藏列值

var id = GridView.DataKeys[RowIndex].Values[KeyIndex]