Типизированный набор данных DataSet сомнений в создании - PullRequest
0 голосов
/ 08 апреля 2011

Я создал DataSet с двумя таблицами данных, экспортированными из базы данных с двумя связанными таблицами:

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 голосов
/ 08 апреля 2011

Из вашего кода вы привязываете DropDownList DataValueField к idCampaignState столбцу из TableB:

Итак, чтобы получить TableBRow, вы должны найти его в таблице, используяdropDownList.SelectedItem.Value, который будет содержать idCampaignState этой строки:

, например, если idCampaignState является первичным ключом для TableB:

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

Дополнительные сведения здесь: DropDownList Web Server Control

...