Jul 20, 2016, 12:48 PM
[OPEN] [#1361] [3.3.0] Problem with FilterHeader plugin in GridPanel
Hello
I have problem with filtering rows using FilterHeader plugin when type of ModelField is ModelFieldType.Auto and column contains numbers.
When I type in something in the filter field, an error occurs:
When I set type = ModelFieldType.Int, filtering is OK but NULLs is store are converted to 0 what is not desired.
Ext.Net ver. 3.3.0
test_filters.aspx
I have problem with filtering rows using FilterHeader plugin when type of ModelField is ModelFieldType.Auto and column contains numbers.
When I type in something in the filter field, an error occurs:
JavaScript runtime error: Object doesn't support property or method 'toLowerCase'
Ext.Net ver. 3.3.0
test_filters.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test_filters.aspx.cs" Inherits="test_filters" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
test_filters.aspx.csusing System;
using System.Collections.Generic;
using System.Web;
using Ext.Net;
public class FiltersTestData
{
public static List<object> Data
{
get
{
return new List<object>
{
new { ID = 10 },
new { ID = 20 },
new { ID = System.DBNull.Value}
};
}
}
}
public partial class test_filters : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ResourceManager res_man = new ResourceManager() { ID = "res_man" };
res_man.IDMode = IDMode.Explicit;
res_man.ViewStateMode = System.Web.UI.ViewStateMode.Disabled;
res_man.DirectMethodNamespace = "net";
form1.Controls.Add(res_man);
GridPanel grid1 = new GridPanel() { ID = "grid1" };
grid1.Plugins.Add(new FilterHeader());
grid1.ColumnModel.Columns.Add(new Column() { DataIndex = "ID", Text = "Id" });
Store store1 = new Store() { ID = "store1" };
Model model1 = new Model();
model1.Fields.Add(new ModelField("ID", ModelFieldType.Auto));
store1.Model.Add(model1);
grid1.Store.Add(store1);
if (!X.IsAjaxRequest)
{
store1.DataSource = FiltersTestData.Data;
store1.DataBind();
}
form1.Controls.Add(grid1);
}
}