ASP.NET MVC GridView 在单击按钮时按文本框中的值过滤? (开发快车)
ASP.NET MVC GridView filtering by value from textbox on button click? (DevExpress)
总结:我想在文本框中输入文本,按下按钮,GridView 应该显示减少的内容——按值过滤。
详细信息: 作为 DevExpress APS.NET MVC 5 初学者,我有一个使用 GridView 的简单演示应用程序。第一个示例使用带有筛选行的 Gridview —— DevExpress (14.2) GridView 向导生成的所有内容。
当在列过滤器中输入一些值时,显示的内容会在一段时间后减少:
我需要实施替代方案,我将值输入到文本框,GridView 内容仅在按下“应用”按钮后更新:
视图定义如下:
@{
ViewBag.Title = "GridView filtering";
}
<h2>@ViewBag.Title</h2>
@Html.DevExpress().Label(settings =>
{
settings.Name = "Label";
settings.Text = "Filter for the Name column";
}).GetHtml()
@Html.DevExpress().TextBox(settings =>
{
settings.Name = "TextBox";
}).GetHtml()
@Html.DevExpress().Button(settings =>
{
settings.Name = "BtnApply";
settings.Text = "Apply";
settings.UseSubmitBehavior = true;
}).GetHtml()
@Html.Action("GridViewPartial")
我不知道如何将按钮单击绑定到功能、如何获取文本框内容以及如何将其传递给 GridView 并使其更新。
在这种情况下,应用按钮不应执行提交。将其 UseSubmitBehavior 属性 设置为 False。处理按钮的客户端 Click event. To access it in mark-up, use ButtonSettings.ClientSideEvents:
@Html.DevExpress().Button(settings =>
{
settings.Name = "BtnApply";
settings.Text = "Apply";
settings.UseSubmitBehavior = false;
settings.ClientSideEvents.Click = "btnApplyClick";
}).GetHtml()
在 btnApplyClick JS 函数中,使用 TextBox 的客户端 GetText method to get the text typed in your TextBox. Then, use the Grid's client-side AutoFilterByColumn 通过名称列将过滤器应用到网格:
<script type="text/javascript">
function btnApplyClick(s, e) {
var filter = TextBox.GetText();
GridView.AutoFilterByColumn("Name", filter);
}
</script>
其中 "GridView" 是您的 GridView 扩展的名称。
总结:我想在文本框中输入文本,按下按钮,GridView 应该显示减少的内容——按值过滤。
详细信息: 作为 DevExpress APS.NET MVC 5 初学者,我有一个使用 GridView 的简单演示应用程序。第一个示例使用带有筛选行的 Gridview —— DevExpress (14.2) GridView 向导生成的所有内容。
当在列过滤器中输入一些值时,显示的内容会在一段时间后减少:
我需要实施替代方案,我将值输入到文本框,GridView 内容仅在按下“应用”按钮后更新:
视图定义如下:
@{
ViewBag.Title = "GridView filtering";
}
<h2>@ViewBag.Title</h2>
@Html.DevExpress().Label(settings =>
{
settings.Name = "Label";
settings.Text = "Filter for the Name column";
}).GetHtml()
@Html.DevExpress().TextBox(settings =>
{
settings.Name = "TextBox";
}).GetHtml()
@Html.DevExpress().Button(settings =>
{
settings.Name = "BtnApply";
settings.Text = "Apply";
settings.UseSubmitBehavior = true;
}).GetHtml()
@Html.Action("GridViewPartial")
我不知道如何将按钮单击绑定到功能、如何获取文本框内容以及如何将其传递给 GridView 并使其更新。
在这种情况下,应用按钮不应执行提交。将其 UseSubmitBehavior 属性 设置为 False。处理按钮的客户端 Click event. To access it in mark-up, use ButtonSettings.ClientSideEvents:
@Html.DevExpress().Button(settings =>
{
settings.Name = "BtnApply";
settings.Text = "Apply";
settings.UseSubmitBehavior = false;
settings.ClientSideEvents.Click = "btnApplyClick";
}).GetHtml()
在 btnApplyClick JS 函数中,使用 TextBox 的客户端 GetText method to get the text typed in your TextBox. Then, use the Grid's client-side AutoFilterByColumn 通过名称列将过滤器应用到网格:
<script type="text/javascript">
function btnApplyClick(s, e) {
var filter = TextBox.GetText();
GridView.AutoFilterByColumn("Name", filter);
}
</script>
其中 "GridView" 是您的 GridView 扩展的名称。