类型化DataSet行创建存在疑问

时间:2011-04-08 12:05:40

标签: c# asp.net drop-down-menu strongly-typed-dataset

我创建了一个DataSet,其中包含2个从DataBase导出的数据表和2个相关表:

TableA (idTableA, name, idTableB) 
TableB (idTableB)

现在我想要做的是使用以下方法创建TableA类型的数据行:

DataSet.TableA.AddTableARow(lblTableAName.Text.Text, ??? )

???部分要求DataSet.TableBRow,我希望从绑定到TableB TableData数据源的页面表单中的下拉列表中给出。

在调试时我已经通过下拉列表实例和数据源实例,但没有找到DataSet.TableBRow结果:(

对于令人困惑的问题感到抱歉,但更基本的解释是:

使用下拉列表选择TableB行创建TableA行...

有我吗?

希望如此......

由于

了解更多信息:

下拉列表及其数据源代码

<asp:DropDownList ID="campaignState" runat="server" 
                                DataSourceID="CampaignStateDataSource" DataTextField="name" 
                                DataValueField="idCampaignState" />
                            <asp:ObjectDataSource ID="CampaignStateDataSource" runat="server" 
                                DeleteMethod="Delete" InsertMethod="Insert" 
                                OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" 
                                TypeName="OutboundSMS.Data.OutboundSMSDataSetTableAdapters.CampaignStateTableAdapter"

                                UpdateMethod="Update">
                                <DeleteParameters>
                                    <asp:Parameter Name="Original_idCampaignState" Type="Int32" />
                                    <asp:Parameter Name="Original_name" Type="String" />
                                </DeleteParameters>
                                <InsertParameters>
                                    <asp:Parameter Name="idCampaignState" Type="Int32" />
                                    <asp:Parameter Name="name" Type="String" />
                                </InsertParameters>
                                <UpdateParameters>
                                    <asp:Parameter Name="name" Type="String" />
                                    <asp:Parameter Name="Original_idCampaignState" Type="Int32" />
                                    <asp:Parameter Name="Original_name" Type="String" />
                                </UpdateParameters>
                            </asp:ObjectDataSource>

1 个答案:

答案 0 :(得分:0)

从您的代码中,您将从TableB绑定DropDownList的{​​{1}}到DataValueField列:

因此,要获得idCampaignState,您必须使用TableBRow在表中搜索它,该dropDownList.SelectedItem.Value将包含该行的idCampaignState

例如,如果idCampaignStateTableB的主键:

tableBRow = tableB.FindByidCampaignState((int)dropDownList.SelectedItem.Value)

此处有更多信息:DropDownList Web Server Control