![](/img/trans.png)
[英]Set TextBox Based on Value From DropdownList (populated by database) on initial Load
[英]How to load a specific value from a database to dropdownlist?
我有一個查詢,返回一個數據。 實際上,它只需要返回一行數據,但是我必須從不同的表中獲取幾條記錄,並且它們包含一個主要屬性的多個值 。 根據查詢,我得到幾行。 現在, 我想將一條記錄(一列的一個單元格)加載到下拉列表中。 我該怎么做?
這是我的查詢
select emp.[App_no]
,emp.[EMP_CALLING_NAME]
,emp.[EMP_INI]
,emp.[EMP_SURNAME]
,emp.[EMP_TITLE]
,emp.[EMP_NAMES_INI]
,emp.[EMP_FULLNAME]
,emp.[EMP_NIC]
,emp.[EMP_dob]
,emp.[EMP_GENDER]
,emp.[NAT_CODE]
,emp.[EMP_MARITAL_STATUS]
,emp.[EMP_DATE_JOINED]
,emp.[EMP_CONFIRM]
,emp.[CX_CODE]
,emp.[DSMG_CODE]
,emp.[CAQT_CODE]
,emp.[EMP_PER_ADDRESS1]
,emp.[EMP_PER_ADDRESS2]
,emp.[EMP_PER_ADDRESS3]
,emp.[EMP_PER_CITY]
,emp.[EMP_PER_TELEPHONE]
,emp.[EMP_PER_MOBILE]
,emp.[EMP_PER_PROVINCE]
,emp.[EMP_PER_DISTRICT]
,emp.[EMP_TEM_ADDRESS1]
,emp.[EMP_TEM_ADDRESS2]
,emp.[EMP_PER_ELECTORATE]
,emp.[EMP_TEM_ADDRESS3]
,emp.[EMP_TEM_CITY]
,emp.[EMP_PER_GD]
,bank.[BBRANCH_CODE]
,bank.[EBANK_ACC_NO]
,bank.[EBANK_ACC_TYPE_FLG]
,bank.[EBANK_ACTIVE_FLAG]
,bank.[LAST_MODIFIED_DATE]
,qual.[Qulif_code]
,lang.[lang_code]
,lang.[ability_type]
,ex.[From_date]
,ex.[To_date]
,ex.[Organization]
,ex.[designation]
,ex.[Cobtact_No]
,nation.[NAT_NAME]
from [EMPLOYEE] emp, [EMP_BANK] bank,
[QUALIF] qual, [LANG] lang,
[Experience] ex, [NATIONALITY] nation
where emp.App_no = bank.App_no and emp.App_no = qual.App_No
and emp.App_no = lang.App_no and nation.NAT_CODE = emp.[NAT_CODE]
and emp.App_no = ex.App_no and emp.App_no=@num
這就是我綁定數據的方式
ddlDesignations.DataSource = ds.Tables[0];
ddlDesignations.DataTextField = "designation";
ddlDesignations.DataValueField = "designation";
ddlDesignations.DataBind();
這可能會解決問題
DataView view = new DataView(ds.Tables[0]);
DataTable distinctValues = view.ToTable(true, "designation");
ddlDesignations.DataSource = distinctValues;
ddlDesignations.DataTextField = "designation";
ddlDesignations.DataValueField = "designation";
ddlDesignations.DataBind();
在這里,ToTable()中的第一個參數是一個布爾值,指示是否要使用不同的行。 ToTable()中的第二個參數是列名,我們必須根據該列名選擇不同的行。 僅這些列將在返回的數據表中。
您可以為此使用LINQ
var distinctdesignations = ds.Tables[0].AsEnumerable()
.Select(row => new {
designation = row.Field<string>("designation")
})
.Distinct();
ddlFamilyMembers.DataTextField = "designation";
ddlFamilyMembers.DataValueField = "designation;
ddlFamilyMembers.DataSource = distinctdesignations;
ddlFamilyMembers.DataBind();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.