Member 13949827 Ответов: 1

Как установить selectedvalue из управления dropdownlist в GridView с помощью конкретных VB.NET категория


Дорогой,

Я пытаюсь сделать выпадающий список с выбранным значением и отобразится в таблице gridview. Так у меня это 5 значения выпадающего списка к которым относятся : обрезка,ИМП,ПХЛ,инструмент & комнаты; другой процесс. Для gridview должен быть отображен каждый файл модуля по выпадающему списку соответственно. К вашему сведению, выпадающий список-это модули, расположенные в modul_category в разделе ModulContents в SQL. Пожалуйста, помогите мне сделать это.

Здесь для ясного зрения :
Пожалуйста, Выберите : --Выберите Опцию--
ОПТОЭЛЕКТРОНИКА
ЧЕРТЕНОК
ПХЛ
инструментальный цех
другой процесс

Код наименование смотреть файл категории модуль модуль
1 Intro OPTO ®

Что я уже пробовал:

Asp.net Код :
стиль="шрифт-размер: 12px; шрифт-семьи:Колибри; выравнивания текста: слева;"&ГТ;
Пожалуйста, выберите : &ЛТ;как ASP:dropdownlist с ИД="dropdownlist для" атрибут runat="сервер" Высота="26px" ширина="254px" свойстве datasourceid="sqldatasource1 на"
DataTextField="modul_category" DataValueField="modul_category" AppendDataBoundItems="истинный" autopostback элемента управления="истинный" EnableViewState="false" - в&ГТ;
<asp:ListItem Value="">-- выберите опцию --



За Кодом :

Защищенный Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Обрабатывает Меня.Load
Если Нет IsPostBack То
Биндлокация()
Биндгридвью()

Конец, Если
Конец Подводной Лодки
Защищенная Суббиндлокация()
Дим ДТ в качестве нового объекта DataTable()
Dim myCommand как SqlCommand
Тусклый str как струна
Тусклый читатель как SqlDataReader
Dim readsessionid As String = Session("emp_username")

Использование myConnection в качестве нового SqlConnection(Strcon)

- вам нужно указать пароль для sql server
стр = "выберите * от сотрудника, где emp_username='" &амп; readsessionid &ампер; "'"
-Ответ.Писать(ул.)
myCommand = New SqlCommand(str, myConnection)
myConnection.Открыть()

Dim cmd As New SqlCommand("Select modul_category from ModulContents", myConnection)
Dim da как новый SqlDataAdapter(cmd)
да.Заполнить(ДТ)
reader = myCommand.Метода executereader()

Если (reader.Read ()), то

userNameLabel.Текст = читатель("emp_username").Метод toString()
deptLabel.Text = reader("deptName").Метод toString()

Конец, Если

myConnection.Закрывать()
Dropdownlist для.Источник данных = ДТ
DropDownList.DataTextField = "modul_category"
DropDownList.DataValueField = "modul_category"
Dropdownlist для.Привязку()
Выпадающий список.Предметы.Insert(0, New ListItem("Выберите Опцию", ""))

Конец Использования

Конец Подводной Лодки
Защищенный Суб BindGridView()
Дим ДТ в качестве нового объекта DataTable()
Использование con в качестве нового SqlConnection(Strcon)
против.Открыть()
Dim cmd As New SqlCommand("SELECT * FROM ModulContents", con)
Dim da как новый SqlDataAdapter(cmd)
да.Заполнить(ДТ)
против.Закрывать()
Управления gridview1.Источник данных = ДТ
Управления gridview1.Привязку()
Конец Использования
Конец Подводной Лодки
Защищенные суб DropDownList_SelectedIndexChanged(как byval отправителя как объект, как byval E Как EventArgs в)
Дим ДТ в качестве нового объекта DataTable()
Использование con в качестве нового SqlConnection(Strcon)
против.Открыть()
Если Dropdownlist Для.SelectedValue &ЛТ;&ГТ; "" тогда
Dim cmd As New SqlCommand("SELECT * FROM ModulContents WHERE modul_category = @modul_category", con)
cmd.параметры.AddWithValue("@modul_category", DropDownList.SelectedValue)
Dim da как новый SqlDataAdapter(cmd)
да.Заполнить(ДТ)
Еще
Dim cmd As New SqlCommand("SELECT * FROM ModulContents", con)
Dim da как новый SqlDataAdapter(cmd)
да.Заполнить(ДТ)
Конец, Если
против.Закрывать()
Управления gridview1.Источник данных = ДТ
Управления gridview1.Привязку()

Конец Использования
Конец Подводной Лодки

Vincent Maverick Durano

Я не уверен, правильно ли я вас понимаю, вы пытаетесь заполнить свое значение выпадающего списка на основе GridView?

Member 13949827

да, именно так. Возможно ли это сделать?

1 Ответов

Рейтинг:
0

Vincent Maverick Durano

Цитата:
да, именно так. Возможно ли это сделать?


Вот краткий пример того, как заполнить a GridView основанный на DropDownList выбранное значение.


VB.NET
Class SurroundingClass
    Private Function GetConnectionString() As String
        Return System.Configuration.ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString
    End Function

    Private Sub BindGridView(ByVal dropDownValue As String)
        Dim sqlStatement As String = "SELECT * FROM YourTableName WHERE ColumnName = @Value1"
        Dim dt As DataTable = New DataTable()

        Using connection As SqlConnection = New SqlConnection(GetConnectionString())

            Using cmd As SqlCommand = New SqlCommand(sqlStatement, connection)
                cmd.CommandType = CommandType.Text
                cmd.Parameters.AddWithValue("@Value", dropDownValue)
                connection.Open()

                Using adapter = New SqlDataAdapter(cmd)
                    adapter.Fill(dt)

                    If dt.Rows.Count > 0 Then
                        GridView1.DataSource = dt
                        GridView1.DataBind()
                    Else
                    End If
                End Using
            End Using
        End Using
    End Sub

    Protected Sub DropDownLis1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        BindGridView(DropDownList1.SelectecItem.Value)
    End Sub
End Class


Эквивалент C#
class SurroundingClass
{
    private string GetConnectionString()
    {
        return System.Configuration.ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString;
    }

    private void BindGridView(string dropDownValue)
    {
        string sqlStatement = "SELECT * FROM YourTableName WHERE ColumnName = @Value1";
        DataTable dt = new DataTable();

        using (SqlConnection connection = new SqlConnection(GetConnectionString()))
        {
            using (SqlCommand cmd = new SqlCommand(sqlStatement, connection))
            {
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("@Value", dropDownValue);
                connection.Open();

                using (var adapter = new SqlDataAdapter(cmd))
                {
                    adapter.Fill(dt);

                    if (dt.Rows.Count > 0)
                    {
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                    }
                    else
                    {
                    }
                }
            }
        }
    }

    protected void DropDownLis1_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindGridView(DropDownList1.SelectecItem.Value);
    }
}


Идея состоит в том, чтобы подключить DropDownList SelectedIndexChanged событие и вызов метода для привязки GridView пройдя по выбранной стоимости. Примечание: Обязательно установите AutoPostback к TRUE в вашем выпадающем списке, чтобы вызвать измененное событие.