Я пытаюсь сделать так, чтобы я мог получить две части данных с SQL Server в Text Field
drop down list
. Поэтому, если я получу данные AccountID='1','2'
и CompanyName='Build it inc','It ltd'
. Я хочу, чтобы отобразить:Получение двух DataFields из SQL в текст выпадающего списка
1-Постройте это вкл
2-It ООО
я могу получить данные из SQL и получить DataValueField
к AccountID
но как отобразить его. Вот мой aspx.
<asp:DropDownList ID="DDLTemplates" DataValueField="AccountID"
DataTextField='<%#Eval("AccountID") + "-" + Eval("CompanyName")%>'
runat="server"></asp:DropDownList>
Как это сделать?
Редактировать: Поскольку многие из вас спрашивают, вот мой код позади. Спасибо за помощь
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DDLTemplates.DataSource = GetItems();
DDLTemplates.DataBind();
}
}
public DataSet GetItems()
{
String conn = ConfigurationManager.ConnectionStrings["LiquidusConnectionString"].ConnectionString;
SqlConnection sqlConnection2 = new SqlConnection(conn);
string oString = "Select AccountID, CompanyName from Account";
SqlCommand cmd = new SqlCommand(oString);
cmd.Connection = sqlConnection2;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sqlConnection2.Open();
da.Fill(ds);
sqlConnection2.Close();
return ds;
}
Ответ Edit: psoshmo и ragerory нашли ответ на свой вопрос. Вот мой код теперь он работает:
<asp:DropDownList ID="DDLTemplates" DataValueField="AccountID" DataTextField="Company" runat="server"></asp:DropDownList>
Код За:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DDLTemplates.DataSource = GetItems();
DDLTemplates.DataBind();
}
}
public DataSet GetItems()
{
String conn = ConfigurationManager.ConnectionStrings["LiquidusConnectionString"].ConnectionString;
SqlConnection sqlConnection2 = new SqlConnection(conn);
string oString = "SELECT AccountID, (Convert(varchar,AccountId) + ' - ' + CompanyName) as company FROM Account";
SqlCommand cmd = new SqlCommand(oString);
cmd.Connection = sqlConnection2;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sqlConnection2.Open();
da.Fill(ds);
sqlConnection2.Close();
return ds;
}
Надеется, что это помогает будущему Googler-х :)
Почему бы не создать поле, которое уже имеет конкатенацию и применить его к вашему DataTextField? Вы привязываете элемент управления к объекту и делаете AccountId своим полем значений, делаете то же самое для своего TextField, за исключением конкатенации строк на обратной стороне свойства. – ragerory
Извините, я новый для программирования и много того, что вы сказали, не нажал. По какой-либо причине у вас есть ссылка или пример? – vmedhe2
Можете ли вы опубликовать код, который у вас есть, который получает «AccountId» и «CompanyName»? Это будет проще показать вам таким образом. – ragerory