下拉列表框作为DataGrid中的编辑模板 - 不绑定

时间:2014-07-20 20:42:47

标签: html asp.net

我不知道绑定网格视图编辑模板中使用的下拉列表的对象。我得到的错误是"附加信息:DataBinding:' System.Data.DataRowView'不包含名称为' Type'的属性。"以下是网格视图的摘录...

        <asp:TemplateField HeaderText="Type *" SortExpression="Type">
            <EditItemTemplate>
                <asp:DropDownList ID="ddlTypeEdit" runat="server" DataSourceID="SqlDataSourceType" DataTextField="Code" DataValueField="LookupValuesID" SelectedValue='<%# Bind("Code") %>'>
                </asp:DropDownList>
                <asp:RequiredFieldValidator ID="RequiredFieldValidatorddlTypeEdit" runat="server" ErrorMessage="Type is required" ControlToValidate="ddlTypeEdit"></asp:RequiredFieldValidator>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="Label3" runat="server" Text='<%# Bind("Code") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>

 <asp:SqlDataSource ID="SqlDataSourcegrvLeases" runat="server" ConnectionString="<%$ ConnectionStrings:MFPConnectionString1 %>" 
 SelectCommand="SELECT [tbl_Lease_Agrmnt].[LeaseAgrmntID], [tbl_Lease_Agrmnt].[SalesOrderID], [tbl_Lease_Agrmnt].[SerialNo], [tlkp_Lookup_Values].[Code], [tbl_Lease_Agrmnt].[ContractNo], [tbl_Lease_Agrmnt].[ScheduleNo], [tbl_Lease_Agrmnt].[StartDate], [tbl_Lease_Agrmnt].[Term], [tbl_Lease_Agrmnt].[Hours], [tbl_Lease_Agrmnt].[Rate], [tbl_Lease_Agrmnt].[ReturnDate], [tbl_Lease_Agrmnt].[CloseDate], [tbl_Lease_Agrmnt].[ExtensionStartDate], [tbl_Lease_Agrmnt].[ExtensionTerm] FROM [tbl_Lease_Agrmnt] LEFT JOIN [tlkp_Lookup_Values] ON [tbl_Lease_Agrmnt].[Type] = [tlkp_Lookup_Values].[LookupValuesID] WHERE ([SalesOrderID] = @SalesOrderID) ORDER BY [LeaseAgrmntID]" 
 UpdateCommand="UPDATE [tbl_Lease_Agrmnt] SET [SalesOrderID] = @SalesOrderID, [SerialNo] = @SerialNo, [Type] = @Type, [ContractNo] = @ContractNo, [ScheduleNo] = @ScheduleNo, [StartDate] = @StartDate, [Term] = @Term, [Hours] = @Hours, [Rate] = @Rate, [ReturnDate] = @ReturnDate, [CloseDate] = @CloseDate, [ExtensionStartDate] = @ExtensionStartDate, [ExtensionTerm] = @ExtensionTerm WHERE [LeaseAgrmntID] = @LeaseAgrmntID">
    <SelectParameters>
         <asp:ControlParameter ControlID="ddlLeaseSalesOrder" Name="SalesOrderID" PropertyName="SelectedValue" Type="Int32" />
     </SelectParameters>
     <UpdateParameters>
         <asp:Parameter Name="SalesOrderID" Type="Int32" />
         <asp:Parameter Name="SerialNo" Type="String" />
         <asp:Parameter Name="Type" Type="Int32" />
         <asp:Parameter Name="ContractNo" Type="String" />
         <asp:Parameter Name="ScheduleNo" Type="String" />
         <asp:Parameter Name="StartDate" Type="String" />
         <asp:Parameter Name="Term" Type="Int32" />
         <asp:Parameter Name="Hours" Type="Int32" />
         <asp:Parameter Name="Rate" Type="Decimal" />
         <asp:Parameter DbType="Date" Name="ReturnDate" />
         <asp:Parameter DbType="Date" Name="CloseDate" />
         <asp:Parameter DbType="Date" Name="ExtensionStartDate" />
         <asp:Parameter Name="ExtensionTerm" Type="Int32" />
         <asp:Parameter Name="LeaseAgrmntID" Type="Int32" />
     </UpdateParameters>
</asp:SqlDataSource>

1 个答案:

答案 0 :(得分:0)

看起来您收到此错误,因为您的选择查询不包含类型字段。如果您修改您的查询,我认为它将正常工作。请注意在FROM关键字之前添加 [tbl_Lease_Agrmnt]。[类型]

SELECT [tbl_Lease_Agrmnt].[LeaseAgrmntID], [tbl_Lease_Agrmnt].[SalesOrderID], [tbl_Lease_Agrmnt].[SerialNo], [tlkp_Lookup_Values].[Code], [tbl_Lease_Agrmnt].[ContractNo], [tbl_Lease_Agrmnt].[ScheduleNo], [tbl_Lease_Agrmnt].[StartDate], [tbl_Lease_Agrmnt].[Term], [tbl_Lease_Agrmnt].[Hours], [tbl_Lease_Agrmnt].[Rate], [tbl_Lease_Agrmnt].[ReturnDate], [tbl_Lease_Agrmnt].[CloseDate], [tbl_Lease_Agrmnt].[ExtensionStartDate], [tbl_Lease_Agrmnt].[ExtensionTerm], [tbl_Lease_Agrmnt].[Type] FROM [tbl_Lease_Agrmnt] LEFT JOIN [tlkp_Lookup_Values] ON [tbl_Lease_Agrmnt].[Type] = [tlkp_Lookup_Values].[LookupValuesID] WHERE ([SalesOrderID] = @SalesOrderID) ORDER BY [LeaseAgrmntID]
相关问题