выпадающий список с динамической сортировкой значений

У меня есть выпадающий список в gridview, в котором я выбираю данные в выпадающем списке из базы данных, как это

Adeel
Akram
Ali
Asif
Zeeshan

Проблема в том, что когда gridview загружается, например, с 5 строками для вставки данных, данные, отображаемые в раскрывающемся списке, сортируются таким образом, что в каждой строке первый элемент является adeel, но я хочу отсортировать имена в соответствии с строкой. Например, в первой строке элемент должно отображаться как adeel, а во второй строке значение должно отображаться как Akram и т. д. Ниже приведен мой код, в котором я использую для загрузки griview для вставки данных

For Each gvRow As GridViewRow In GridView1.Rows
    Dim ddlEmpCode As DropDownList = CType(gvRow.FindControl("DropDownlist1"), DropDownList)
    Dim con As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("DatabaseConnectionString2").ConnectionString)
    Dim cmd As SqlCommand = New SqlCommand("insert into Status(m_date,emp_code) values (@m_Date,@EMp_Code)", con)
    cmd.Parameters.Clear()
    cmd.Parameters.AddWithValue("m_Date", txtdate.Text)
    cmd.Parameters.AddWithValue("Animal_Code", ddlAnimalCode.SelectedValue)
    con.Open()
    cmd.ExecuteNonQuery()
    con.Close()
    Label1.Text = "All Records are Saved Successfully"
    btnInsert.Enabled = False
Next

person user1819920    schedule 03.10.2012    source источник
comment
Ваша проблема и желаемая ситуация точно такие же!? Пожалуйста, объясните подробнее...   -  person Amir    schedule 03.10.2012
comment
Сэр, обычно, когда выпадающее меню отображается, тогда в каждой строке сетки отображается только первый элемент, но я хочу показать следующий элемент в следующей строке   -  person user1819920    schedule 03.10.2012
comment
Сэр, если вы получили это, пожалуйста, ответьте или скажите, что я покажу более подробно   -  person user1819920    schedule 03.10.2012
comment
К сожалению, я прочитал весь текст 4 раза и ничего не понял. Когда ваша программа запускается, у вас есть пустое представление сетки, которое будет заполнено? Так что же такое команда INSERT в коде? ИЛИ если ваша программа запускается и собирается что-то вставить, что именно делает для вас gridview?   -  person Amir    schedule 03.10.2012
comment
Ладно, я понял. Но ваш рассматриваемый код иллюстрирует часть вставки, которая не является вашей проблемой ИЛИ ваш вопрос: выбираете ли вы правильные элементы в раскрывающихся списках, первый выбор добавлен в базу данных?   -  person Amir    schedule 03.10.2012
comment
Сэр, я показал только свой код вставки, потому что я хочу вставить выбранное значение также в базу данных с существующим контекстом. Поэтому новый код должен быть скорректирован в моем приведенном выше коде.   -  person user1819920    schedule 03.10.2012
comment
Так где ты сейчас Дай ответ   -  person user1819920    schedule 03.10.2012


Ответы (1)


Попробуйте следующий код. Попробуйте установить выбранный индекс раскрывающегося списка в событии rowdatabound следующим образом...

protected void GridView1_RowDatabound(object sender, GridViewRowEventArgs e)
        {

            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DropDownList drpdwnList = ((DropDownList)e.Row.FindControl("DropDownlist1"));                   
                drpdwnList.SelectedIndex=e.Row.RowIndex;
            }
        }

** Я написал это на C#, вам нужно написать то же самое на Vb

person Amol Kolekar    schedule 03.10.2012
comment
Sir Error Отображение в этой строке drpdwnList.Items.SelectedIndex = e.Row.RowIndex как Selected Index is not a member of System.Web.UI.WebControls.ListItemCollection что для этого нужно сделать? - person user1819920; 03.10.2012