先生/女士现在我的问题是,我想使用下拉列表和文本框过滤网页的网格视图。
我的意思是说我们写一个SQL,如:
Select * from student where roll_no = 101;
右,
现在我应该通过下拉列表选择上面语句中的列(roll_no
),并且文本框应输入值(上述语句中的101)。
简而言之,我想使用下拉列表填充网格视图,并通过单击按钮填充文本框的值..
开发我正在使用数据集和表适配器。
请帮帮我..
答案 0 :(得分:1)
我使用下拉列表(组合框)和文本框以下列方式过滤我的DataGridView
,我认为这正是您要找的。
首先,填充DataGridView
。您声明自己使用的是DataSet
和TableAdapters
。我猜你使用BindingSource
将数据绑定到DataGridView
。如果是这种情况,那么您可以通过Filter
{/ 1> BindingSource
数据private void ApplyFilter()
{
var filterEntered = FilterTextBox.Text.Trim().ToLower();
MyBindingSource.RemoveFilter(); // remove previous filter
string filterText = string.Empty;
string filterComboText = string.Empty;
switch (FilterComboBox.Text)
{
case "Profile":
filterComboText = "TSProfile"; // column name in the query
break;
case "User Id":
filterComboText = "TSUserId";
break;
case "Center":
filterComboText = "TSCenter";
break;
case "Prefix":
filterComboText = "TSPrefix";
break;
}
filterComboText = filterComboText + " = '";
filterText += (string.IsNullOrEmpty(filterComboText) ? string.Empty : filterComboText);
filterText += (!string.IsNullOrEmpty(filterText) && !string.IsNullOrEmpty(filterEntered) ? filterEntered + "'" : string.Empty);
MyBindingSource.Filter = filterText;
}
我的设置类似于:
我的组合框包含我想要在我的过滤器中使用的字段,文本框是我将要应用的值。组合框中的值是用户友好的名称,因此他们将了解它们正在过滤哪个字段。
应用过滤器的代码是:
{{1}}
基本上它正在做的是获取组合框的文本名称,然后获取文本框中的文本并将Filter应用于BindingSource。
MSDN有一篇关于过滤的文章包含完整的示例代码。
我建议的一件事是为用户提供一种轻松删除过滤器的方法,我使用“删除过滤器”按钮。
答案 1 :(得分:0)
在您的代码隐藏中,将项目添加到您的下拉列表中。
List<yourObject> list = new List<yourObject>();
foreach (yourObject i in list)
{
DropdownList1.Items.Add(new ListItem("" i.name, "" + i.id));
}
我只是举个例子,i.name可以是某个学生的名字,i.id将是与该学生相关的id。
确保将下拉列表的autopostback属性设置为true,如下所示:
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
然后,在下拉列表的所选索引更改事件中,执行以下操作:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
yourDataControl.DataSource = someMethod(Convert.toInt32(DropDownList1.SelectedValue));
yourDatacontrol.DataBind();
}
正如我所说,我不完全确定你要做什么,或者你是怎么做的。 我正在描述的方式,您不需要文本框输入特定值,通过在下拉列表中选择一个项目,您将自动获得一个值:在这种情况下,与下拉列表中所选项目相关联的ID。