简体   繁体   English

如何在asp.net中基于多个选定的下拉项显示Gridview记录

[英]How can i display gridview records based on multi selected dropdown items in asp.net

In my application i have multi selected dropdownlist and based on selection i need to display in gridview. 在我的应用程序中,我有多个选择的下拉列表,并且基于选择,我需要显示在gridview中。 If i select two items from multi select dropdown based on that i need to display that two selected records on gridview.Below code is i selected two items i am getting first selection records only. 如果我从多重选择下拉列表中选择两个项目,则需要在gridview上显示两个选定的记录。下面的代码是我选择了两个项目,我只会得到第一个选择记录。
i tried code: 我试过代码:

protected void ddlcol2_SelectedIndexChanged(object sender, EventArgs e)
{
    string qry = "select * from Collections where col1='" + ddlcol1.SelectedValue.ToString() + "' and col2='" + ddlcol2.SelectedValue.ToString() + "'";
    SqlCommand cmd = new SqlCommand(qry,con);
    DataTable dt = new DataTable();
    SqlDataAdapter sda = new SqlDataAdapter(cmd);
    sda.Fill(dt);            
    Gridview1.DataSource = dt;
    Gridview1.DataBind();
}

ddlcol2 is the multi select dropdown if i select two items from ddlcol2 i want to display that two items records on gridview. 如果我从ddlcol2中选择两项,则ddlcol2是多选下拉菜单,我想在gridview上显示两项记录。
Can anyone please tell me to how to do this. 谁能告诉我该怎么做。
Thank you 谢谢

Assume that ddcol1 is single select only 假设ddcol1是单选

change the query string to accept multiple values 更改查询字符串以接受多个值

string qry = "select * from Collections where col1='" + 
             ddlcol1.SelectedValue.ToString() + 
             "' and col2 in ('" + 
             string.Join("','", ddlcol2.Items.Cast<ListItem>
                                             .Where(i => i.Selected)
                                             .Select(i => i.Value)
                                             .ToArray()) + "')";

EDIT ( without LINQ ) 编辑不使用LINQ

var sCol2 = string.Empty;
foreach(var item in ddlcol2.Items)
{
    if (item.Selected)
        sCol2 += "'" + item.Value + "',"
}

// remove the last ,
if (sCol2.Length > 0)
    sCol2 = sCol2.Substring(0, sCol2.Length - 1);

string qry = "select * from Collections where col1 = '" +
             ddlcol1.SelectedValue.ToString() +
             "' and col2 in (" +
             sCol2 + ")";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在asp.net的“多选”下拉文本框中以逗号分隔的形式显示所选项目 - How can i show the selected items as comma separated in the Multi select dropdown text field in asp.net 我如何在asp.net的下拉复选框标题框中显示所选项目 - how can i display selected items on the dropdowncheckboxes caption box in asp.net 如何根据从下拉列表中选择的内容(ASP.NET中的C#)更改标签的输出 - How can I change the output of a label, based on what's selected from a dropdown list (C# in ASP.NET) 如何通过显示文本在ASP.NET下拉菜单中设置所选项目? - How can you set the selected item in an ASP.NET dropdown via the display text? 如何在asp.net中的不同列表框中显示所选项目的datavaluefield - how to display the datavaluefield of selected items in different listbox in asp.net 如何在asp.net中将gridview行选定的值保存为字符串 - How can i hold gridview row selected values into a string in asp.net 根据使用asp.net的下拉值选择显示Gridview表 - Display Gridview Tables based on dropdown value selection using asp.net 我如何在Gridview c#asp.net中将选中的项目添加到arraylist - how can i add items which are checked to arraylist in Gridview c# asp.net ASP.net:如何在ajax modalpopupextender中显示gridview - ASP.net: how Can i display a gridview inside ajax modalpopupextender 我如何在asp.net gridview中显示基于字段数据的图像按钮 - How can I show Image buttons based on field data in a asp.net gridview
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM