I am trying to retrieve values from a boundfield in a detailsview.
protected void BtnViewDetails_Click(object sender, EventArgs e)
{
// get the gridviewrow from the sender so we can get the datakey we need
Button btnDetails = sender as Button;
GridViewRow row = (GridViewRow)btnDetails.NamingContainer;
DropDownList ddl = ((DropDownList)dvVehicleDetail.FindControl("Dropdo wnList1"));
// extract the vehicleid from the row whose details button originated the postback.
// grab the vehicleid and feed it to the vehicle details datasource
// finally, rebind the detailview
this.sqldsVehicleDetails.SelectParameters.Clear();
this.sqldsVehicleDetails.SelectParameters.Add("VID ", Convert.ToString(this.gvVehicles.DataKeys[row.RowIndex].Value));
this.dvVehicleDetail.DataSource = this.sqldsVehicleDetails;
this.dvVehicleDetail.DataBind();
this.updPnlVehicleDetail.Update();
// show the modal popup
this.mdlPopup.Show();
}
</Script>
<form id="form1" runat="server">
<table width="80%" align="center">
<tr>
<td>
<asp:ScriptManager ID="scriptManager" runat="server" />
<div>
<asp:SqlDataSource ID="sqldsVehicles" runat="server"
SelectCommand="SELECT VID,SERVICE_VIN,YR,MAKE,MODEL,STOCK_NO FROM tblImported_Bad_HONDA"
SelectCommandType="Text" ConnectionString="<%$ ConnectionStrings:keelerConnString %>" />
<asp:SqlDataSource ID="sqldsVehicleDetails" runat="server"
SelectCommand="select * from tblImported_Bad_HONDA where VID=@VID"
SelectCommandType="Text" CancelSelectOnNullParameter="true" ConnectionString="<%$ ConnectionStrings:keelerConnString %>"/>
<p style="background-color:AliceBlue; width:95%">
Please select a record below and edit the details.<br />
</p>
<br />
<asp:UpdatePanel ID="updatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lblTitle" runat="server" Text="Vehicle records with errors " BackColor="lightblue" Width="95%" />
<asp:GridView
ID="gvVehicles" runat="server" DataKeyNames="VID" AutoGenerateColumns="false"
AllowPaging="true" AllowSorting="true" PageSize="10" DataSourceID="sqldsVehicles" Width="95%">
<AlternatingRowStyle BackColor="aliceBlue" />
<HeaderStyle HorizontalAlign="Left" />
<Columns>
<asp:TemplateField ControlStyle-Width="50px" HeaderStyle-Width="60px">
<ItemTemplate>
<asp:Button ID="btnViewDetails" runat="server" Text="Details" OnClick="BtnViewDetails_Click" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="SERVICE_VIN" HeaderText="VIN" SortExpression="SERVICE_VIN" ReadOnly="true" />
<asp:BoundField DataField="YR" HeaderText="Year" SortExpression="YR" ReadOnly="true" />
<asp:BoundField DataField="MAKE" HeaderText="Vehicle Make" SortExpression="MAKE" ReadOnly="true" />
<asp:BoundField DataField="MODEL" HeaderText="Vehicle Model" SortExpression="MODEL" ReadOnly="true" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Button id="btnShowPopup" runat="server" style="display:none" />
<ajaxToolKit:ModalPopupExtender
ID="mdlPopup" runat="server" TargetControlID="btnShowPopup" PopupControlID="pnlPopup"
CancelControlID="btnClose" BackgroundCssClass="modalBackground" />
<asp:Panel ID="pnlPopup" runat="server" Width="500px" style="display:none">
<asp:UpdatePanel ID="updPnlVehicleDetail" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lblVehicleDetail" runat="server" Text="Vehicle Detail" BackColor="lightblue" Width="95%" />
<asp:DetailsView ID="dvVehicleDetail" AutoGenerateRows="false" DefaultMode="Edit" runat="server" Width="95%" BackColor="white" OnItemUpdating="cmdUpdate">
<Fields>
<asp:BoundField DataField="SERVICE_VIN" HeaderText="VIN" ReadOnly="false" SortExpression="SERVICE_VIN" />
<asp:BoundField DataField="YR" HeaderText="Vehicle Year" ReadOnly="false" SortExpression="YR" />
<asp:BoundField DataField="MAKE" HeaderText="Vehicle Make" ReadOnly="false" SortExpression="MAKE" />
<asp:TemplateField HeaderText="Vehicle Model">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"
DataSourceID="SqlDataSource1" DataTextField="model" DataValueField="model"
AppendDataBoundItems="true" CausesValidation="false">
<asp:listitem value="-1">Please select a value</asp:listitem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:keelerConnString %>"
SelectCommand="SELECT DISTINCT Name as model FROM tblModel WHERE MakeID = 27">
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate >
<asp:Label Runat="server" Text='<%# Bind("model") %>' ID="Label2"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Vehicle Color">
<EditItemTemplate>
<asp:DropDownList ID="ColorDropDownList" runat="server" AutoPostBack="true"
DataSourceID="SqldsColor" DataTextField="LongName" DataValueField="ShortName"
AppendDataBoundItems="true" CausesValidation="false">
<asp:listitem value="-1">Please select a value</asp:listitem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqldsColor" runat="server" ConnectionString="<%$ ConnectionStrings:keelerConnString %>"
SelectCommand="SELECT DISTINCT ShortName, LongName FROM tblColors ">
</asp:SqlDataSource>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Vehicle Miles" DataField="MILES" ReadOnly="false" SortExpression="MILES" />
<asp:BoundField HeaderText="Vehicle Price" DataField="LIST" ReadOnly="false" SortExpression="LIST" />
<asp:BoundField HeaderText="Stock No" DataField="STOCK_NO" ReadOnly="false" SortExpression="STOCK_NO" />
</Fields>
</asp:DetailsView>
<div align="right" style="width:95%">
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="ValidateBtn_OnClick" Width="50px" />
<asp:Button ID="btnClose" runat="server" Text="Close" OnClick="CloseBtn_OnClick" Width="50px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
</div>
</td>
</tr>
</table>
</form>