Grid View: получение значения одного столбца из другой таблицы

Я сделал форму для вставки значений в БД, и один столбец - CompanyID, и есть таблица Companies, где этот CompanyID является первичным ключом.

Как получить выпадающее меню или что-то подобное, чтобы пользователи не печатали как 1213 (ID), а выбирали его из списка или что-то в этом роде?

Благодарю.

2 ответа

Решение

Ниже приводится самый простой способ. Создайте и настройте SqlDataSource.

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:myConnectionString %>" 
        SelectCommand="SELECT [CompanyID], [CompanyName] FROM [tbl_Company] ORDER BY [CompanyName]">
    </asp:SqlDataSource>

Перетащите раскрывающийся список из панели инструментов. установить datasourceid, поле datatext и поле значения данных.

<asp:DropDownList ID="DropDownList1" runat="server" 
            DataTextField="CompanyName" DataValueField = "CompanyID" 
            DataMember="DefaultView" DataSourceID="SqlDataSource1">
        </asp:DropDownList>

Запустите страницу.

Выберите название компании и идентификатор из таблицы компании в массиве. затем с этим массивом создайте свой выпадающий список следующим образом

SQl = "select id, name from company";
echo '<select>'
foreach($companies as $company)
    echo "<option value='$company[id]'>$company['name']</option>";
echo '</select>'
Другие вопросы по тегам