View Single Post
  #1 (permalink)  
Old April 9th, 2010, 05:29 PM
sg48 sg48 is offline
Authorized User
 
Join Date: Jun 2003
Location: , , .
Posts: 54
Thanks: 1
Thanked 0 Times in 0 Posts
Default Field not found when binding dataset to gridview

I get the eror message: A field or property with the name 'BuyersAgent' was not found on the selected data source. Any help or insight is appreciated.1. If I remove the Bound Column BuyersAgent the page runs without error.2. If I breakpoint at: BuyersAgent = DirectCast(dataSet.Tables(1).Rows(0).ItemArray(1), String), BuyersAgent does have the correct value.3. BuyersAgent is unique in that it is not in the undertlaying db Table but comes from the following storedprocedure snippet:SELECT A.FName +
P1.FName + ' ' + P1.LName AS [Purchaser1],' ' + A.LName AS [BuyersAgent]
FROM ...


Code:
<%@ Page Title="" Language="VB" MasterPageFile="~/secureds_deals.master" %><%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %><script runat="server">    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)        If Not IsPostBack Then            'Session("DealID") was passed in                        Dim Conn As New SqlConnection(dsNegotiationGrid.ConnectionString)            Dim dataSet As New DataSet()            Dim adapter As SqlDataAdapter            Dim CmdGeNegotiationData As New SqlCommand("procGetNegotiationsByIDSelect", Conn)            Dim dealidparam As New SqlParameter("@dealid", SqlDbType.Int)            Dim DealId As Integer = 0            Dim DealName As String            Dim StartDate As Date            Dim ContractDate As Date            Dim ClosingDate As Date            Dim SubmitRole As String            Dim Status As String            Dim OfferNumber As Integer            Dim OfferType As String            Dim OfferAmount As String            Dim OfferDateTime As Date            Dim PctDown As Integer            Dim SuggestedClosingDate As Date            Dim CompletePct As Integer            Dim Guarantor As String            Dim Contingencies As String            Dim Notes As String            Dim BuyersAgent As String            Dim MostRecent As Boolean            Dim OfferId As Integer = 0            Dim Purchaser1 As String            Dim Seller1, DealShortName As String            Dim StreetAddress1, StreetAddress2, City, State, Country, PostalCode As String            If Session("DealID") <= 0 Or Session("DealName") = "" Then Server.Transfer("Deals.aspx")            CmdGeNegotiationData.CommandType = Data.CommandType.StoredProcedure            dealidparam.Value = CInt(Session("DealID"))            CmdGeNegotiationData.Parameters.Add(dealidparam)            dealidparam.Direction = Data.ParameterDirection.Input            Conn.Open()            adapter = New SqlDataAdapter(CmdGeNegotiationData)            adapter.Fill(dataSet)            DealId = CInt(dataSet.Tables(0).Rows(0).ItemArray(0))            DealName = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(1), String)            StartDate = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(2), Date)            ContractDate = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(3), Date)            ClosingDate = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(4), Date)            SubmitRole = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(5), String)            Status = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(6), String)            OfferNumber = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(7), Int16)            OfferType = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(8), String)            OfferDateTime = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(9), Date)            PctDown = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(10), Int16)            OfferAmount = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(11), Int32)            SuggestedClosingDate = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(12), String)            CompletePct = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(13), Int16)            Guarantor = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(14), String)            Contingencies = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(15), String)            Notes = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(16), String)            DealShortName = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(17), String)            MostRecent = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(18), Boolean)            OfferId = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(19), Int32)            StreetAddress1 = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(20), String)            StreetAddress2 = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(21), String)            City = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(22), String)            State = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(23), String)            Country = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(24), String)            PostalCode = DirectCast(dataSet.Tables(0).Rows(0).ItemArray(25), String)            Purchaser1 = DirectCast(dataSet.Tables(1).Rows(0).ItemArray(0), String)            BuyersAgent = DirectCast(dataSet.Tables(1).Rows(0).ItemArray(1), String)            Seller1 = DirectCast(dataSet.Tables(2).Rows(0).ItemArray(0), String)            lblDealID.Text = "Deal ID: " & DealId            lblDealName.Text = "Seller: " & DealName            gvNegotiationGrid.DataSource = dataSet            gvNegotiationGrid.DataBind()                                            End If    End Sub      Sub gvNegotiationGrid_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)          'Need Offer ID in grid to pass to next page in session variable                    Dim rowindex As Integer           RowIndex  = Convert.ToInt32(e.CommandArgument).ToString()        If e.CommandName.Equals("Detail") Then                        Server.Transfer("deal.aspx")        End If                                        If e.CommandName="Respond"  Then            Server.Transfer("respond.aspx")        End If                                                 End Sub        Protected Sub gvNegotiationGrid_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)                    If e.Row.RowType = DataControlRowType.DataRow Then                          Dim btnDetail As Button = DirectCast(e.Row.FindControl("btnDetail"), Button)            Dim btnRespond As Button = DirectCast(e.Row.FindControl("btnRespond"), Button)            Dim ShowLink As Boolean = _                CType(DataBinder.Eval(e.Row.DataItem, "mostrecent"), Boolean) ' add to db            If ShowLink=False Then                btnDetail.Visible = "False"                btnRespond.Visible="False"            End If        End If                End Sub      </script><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server" ><asp:Label ID="lblDealID"   runat="server" class="label" Text=""></asp:Label><br /><asp:Label ID="lblDealName"   runat="server" class="label" Text=""></asp:Label>    <div style="margin-top:25px;" >        <asp:Button ID="btnAddOffer" runat="server" Text="Add Offer" />    </div>    <div >        <asp:GridView ID="gvNegotiationGrid" runat="server"         HorizontalAlign="Center"         CellPadding="4"         GridLines="None"        Font-Names="Verdana,Arial"         Font-Size="0.8em"         AutoGenerateColumns="False" AutoGenerateSelectButton="false"        OnRowCommand="gvNegotiationGrid_RowCommand"        OnRowDataBound="gvNegotiationGrid_RowDataBound" ForeColor="#333333" >                <Columns>        <asp:BoundField             DataField="offertype"            HeaderText="Type"/>                <asp:BoundField             DataField="offernumber"            HeaderText="#"/>         <asp:BoundField             DataField="status"            HeaderText="Status"/>         <asp:BoundField             DataField="dealname"            HeaderText="Buyer/Seller"/>                          <asp:BoundField            HtmlEncode="false"             DataFormatString="{0: $##,#}"             DataField="offeramount"            HeaderText="Offer Amount"/>                            <asp:BoundField             DataField="pctdown"            HeaderText="% Down"/>                            <asp:BoundField             DataField="SuggestedClosingDate"            HeaderText="Suggested Close"/>                    <asp:BoundField             DataField="Guarantor"            HeaderText="Guarantor"/>        <asp:BoundField             DataField="Notes"            HeaderText="Notes" />        <asp:BoundField             HtmlEncode="false"             DataFormatString="{0:g}"             DataField="offerdatetime"            HeaderText="Made On"/>         <asp:BoundField             DataField="SubmitRole"            HeaderText="Role"/>            <asp:BoundField             DataField="BuyersAgent"             HeaderText="Agent"/>         <asp:BoundField             DataField="CompletePct"            HeaderText="Complete %"/>         <asp:BoundField             DataField="mostrecent"            HeaderText=""             Visible="false"/>                        <asp:TemplateField HeaderText="More">                <ItemTemplate>                    <asp:Button                         ID="btnDetail"                         CommandName="Detail"                        CommandArgument="<%# CType(Container, GridViewRow).RowIndex %>"                         runat="server"                         Text="Detail" />                </ItemTemplate>            </asp:TemplateField>                       <asp:TemplateField HeaderText="Action">                <ItemTemplate>                    <asp:Button                         ID="btnRespond"                         CommandName="Respond"                        CommandArgument="<%# CType(Container, GridViewRow).RowIndex %>"                         runat="server"                         Text="Respond" />                </ItemTemplate>            </asp:TemplateField>                                    </Columns>             <RowStyle BackColor="#F7F6F3" ForeColor="#333333" BorderColor="#336699" BorderWidth="1" BorderStyle="Solid"/>            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />            <RowStyle HorizontalAlign="Center" />            <HeaderStyle BorderColor="#336699" BorderStyle="Solid" BorderWidth="1px"                 Font-Names="Verdana" Font-Size="Small" HorizontalAlign="Center"                 VerticalAlign="Top" BackColor="#5D7B9D" Font-Bold="True"                 ForeColor="White" />            <EditRowStyle BackColor="#999999" />            <AlternatingRowStyle BorderColor="#336699" BorderStyle="Solid"                 BorderWidth="1px" HorizontalAlign="Center" BackColor="White"                 ForeColor="#284775" />                </asp:GridView>        <asp:SqlDataSource ID="dsNegotiationGrid" runat="server"        ConnectionString="<%$ ConnectionStrings:DB_6056_securedeConnectionString %>">        </asp:SqlDataSource>    </div>       </asp:Content>