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>'