Ich habe meine Nachforschungen hier gemacht und kann nun erfolgreich einen Wert einer ausgeblendeten Randspalte in meiner Gitteransicht ermitteln. Das Problem ist, dass ich die versteckte Spalte der ausgewählten Zeile nicht anvisieren kann.selectedrow on hidden boundfield
kann ich GridView1.SelectedRow.Cells[7].Text;
so etwas auf einer versteckten Spalte verwenden.Ist es möglich?
hier ist mein Code: wollte
<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>
ich dieses gebundene Feld Ziel:
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();
}
hier mein gridview ist
<asp:BoundField DataField="id" Visible="false" HeaderText="id"
SortExpression="DateField" />
Was Sie bedeuten, „kann nicht zielen auf die eine verborgene Spalte die Zeile, die ich ausgewählt habe. "? –
Ich dachte über 'GridView1.SelectedRow.Cells [7] .Text;' so etwas in einer versteckten Spalte.Ist es möglich? –
Ja, Sie können es nehmen, müssen aber DataKeyNames -Eigenschaft verwenden. Können Sie Ihren HTML-Code auch teilen? –