Установка выбранного значения в DropDownList в UserControl - PullRequest
4 голосов
/ 29 августа 2011

Может ли кто-нибудь помочь мне с установкой выбранного значения DropDownList для заданного значения базы данных.У меня есть пара TextBox, для которых нетрудно установить значение из базы данных, но меня сводит с ума это DropDownList.

 <asp:TextBox ID="txtNaziv" runat="server" Width="430px" Text='<%# DataBinder.Eval(Container, "DataItem.Naziv") %>'></asp:TextBox>

Насколько я знаю, установить невозможновыбранное значение элемента из передней части кода в DropDownList, но мне удалось найти что-то вроде этого (фрагмент кода из документации Radrikrid от Telerik):

        protected void EmployeeDetails_DataBinding(object sender, System.EventArgs e)
    {
        ArrayList tocs = new ArrayList(new string[] { "Dr.", "Mr.", "Mrs.", "Ms." });

        ddlTOC.DataSource = tocs;
        ddlTOC.DataBind();

        object tocValue = DataBinder.Eval(DataItem, "TitleOfCourtesy");

        if (tocValue == DBNull.Value)
        {
            tocValue = "Mrs.";
        }
        ddlTOC.SelectedIndex = tocs.IndexOf((string)tocValue);
        ddlTOC.DataSource = null;
    }

Проблема в том, что я использую Linq-to-SQL, и я не уверен, как воссоздать что-то вроде приведенного выше кода.Это то, что у меня сейчас есть:

        protected void ddlTip_DataBinding(object sender, EventArgs e)
    {
        TSEntities db = new TSEntities();

        var partType = (from pt in db.PartType
                       select new { pt.idPartType, pt.Naziv }).ToArray();

        ddlTip.DataSource = partType;
        ddlTip.DataTextField = "Naziv";
        ddlTip.DataValueField = "idPartType";
        ddlTip.DataBind();

        object Tip = DataBinder.Eval(DataItem, "idPartType");

    }

Еще одна вещь, которую я должен добавить, это TextBoxes и DropDownList находятся внутри UserControl, который используется внутри Radrikrid Telerik для его EditForm.1012 * Любая помощь будет оценена.

Спасибо!

Ответы [ 2 ]

4 голосов
/ 29 августа 2011

Вам необходимо установить SelectedValue раскрывающегося списка:

ddlTOC.SelectedValue = tocValue;

Вы также можете сделать это так:

ListItem li = ddlTOC.Items.FindByValue(tocValue);
if (li != null)
    li.Selected = true;

EDIT : включенный код дляпривязать список напрямую к db.PartType:

TSEntities db = new TSEntities();       

ddlTip.DataSource = db.PartType; 
ddlTip.DataTextField = "Naziv"; 
ddlTip.DataValueField = "idPartType"; 
ddlTip.DataBind(); 

ddlTip.SelectedValue = DataBinder.Eval(DataItem, "idPartType").ToString();
0 голосов
/ 29 августа 2011

Попробуйте это

ddlTip.Items.FindByValue(tocs).Selected = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...