Как привязать dropdownlist в detailsview к другой таблице
Я новичок в этом деле asp.net и мне нужна помощь, пожалуйста. Я использую c# и sql.
Я хочу сделать следующее: У меня есть представление сведений, где я могу использовать его для добавления сотрудников и сохранения в своей базе данных в таблице сотрудников. В представлении сведений я создал поле шаблона для dept_id (это поле является внешним ключом). Я хочу сделать его в виде выпадающего списка, где вы можете выбрать название отдела (которое находится в таблице отдела) вместо ввода идентификатора отдела. Я очень в этом заинтересован. Любая помощь будет оценена по достоинству.
Это и есть .aspx
<asp:TemplateField HeaderText="Dept_id" SortExpression="Dept_id"> <EditItemTemplate> <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="ddlSqlDataSource" DataTextField="dept_name" DataValueField="dept_id" SelectedValue='<%# Bind("dept_id") %>'> </asp:DropDownList> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="ddlSqlDataSource" DataTextField="dept_name" DataValueField="dept_id" SelectedValue='<%# Bind("dept_id") %>'> </asp:DropDownList> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label5" runat="server" Text='<%# Bind("Dept_id") %>'></asp:Label> </ItemTemplate> </asp:TemplateField>
Я не уверен, что мне следует писать внутри элемента управления dropdownlist и что писать в его SqlDataSource (ddlSqlDataSource)
<asp:SqlDataSource ID="ddlSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [dept_name] FROM [Department]"> </asp:SqlDataSource>
Может ли кто-нибудь помочь, пожалуйста!
Заранее спасибо.
----------
Проблемы Решены!
Спасибо всем!
Вот модифицированный код:
<asp:TemplateField HeaderText="Dept_id" SortExpression="Dept_id"> <ItemTemplate> <%#Eval("dept_id") %> </ItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="ddlDept" runat="server" DataSourceID="ddlSqlDataSource" DataTextField="dept_name" DataValueField="dept_id" SelectedValue='<%# Bind("Dept_id") %>'> </asp:DropDownList> <asp:SqlDataSource ID="ddlSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT dept_id, dept_name FROM Department "> </asp:SqlDataSource> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label5" runat="server" Text='<%# Bind("Dept_id") %>'></asp:Label> </ItemTemplate> </asp:TemplateField>
И я добавил их к строкам кода позади:
protected void DetailsView2_DataBound(object sender, EventArgs e) { DropDownList ddlDept = (DropDownList)DetailsView2.FindControl("ddlDept"); ddlDept.Items.Insert(0, new ListItem("Select department")); }
Gokulprasad05
у вас есть две разные таблицы: одна-таблица сотрудников, а другая-таблица отделов.. какое значение вы хотите привязать в выпадающем списке
Dana.S
Я хочу привязать таблицу department , чтобы я мог выбрать имя отдела из выпадающего списка, а затем сохранить dept_id в таблице employee на основе выбранного имени. Это понятно ?
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Теперь dropddownlist становится связанным или нет?
Dana.S
Нет это не так
Gokulprasad05
анализ обеих таблиц, любое из имен столбцов или значений gid должно быть одинаковым для обеих таблиц в вашей БД. Затем положите левое соединение
Dana.S
Спасибо за заботу.
Извините, если это глупый вопрос (я все еще новичок), должен ли я поместить левое соединение в команду select источника данных?
Gokulprasad05
затем свяжите поле datasource,datamember,datatextfield &datavalue и свяжите значение в выпадающем списке, а затем утилизируйте его..
Gokulprasad05
выберите b.department_code,b.department_name,c.user_firstname из hrm_mst_temployee a
слева присоединяйтесь к hrm_mst_tdepartment b на a.department_gid = b.department_gid
слева присоединяйтесь к adm_mst_tuser c на a.user_gid = c.user_gid
где a.employee_gid=";
Dana.S
Большое спасибо. Я постараюсь выполнить то, что вы сказали, и вернусь.
Спасибо снова.
Gokulprasad05
Сначала спланируйте и выполните кодирование.. Удачи.
Dana.S
Большое спасибо!
Проблема решена
Gokulprasad05
Дидактическая проблема ура полностью решена ...
Dana.S
Да :)