为什么我不能使用filterhead的复选框和radiobutton列?

时间:2017-04-24 17:52:05

标签: extjs ext.net

我有下一个问题,当我只使用两列时(一个用于名称,另一个用于复选框,一个用于名称,另一个用于radiobutton)一切都很好,但是当我使用三列时(一个用于名称,其他用于复选框和最后一个用于radiobutton)当我尝试在过滤器字段中写入时,我在控制台中出现了下一个错误。

filterheader.js:46未捕获TypeError:field.getValue不是函数

at g.<anonymous> (filterheader.js:46)
at Object.each (ext-all.js:19)
at g.runFiltering (filterheader.js:46)
at g.onFieldChange (filterheader.js:45)
at ext-all.js:19

我不知道该怎么做,我在ext.net上没有多少练习。之前 为我的英语道歉。我真的很感激一些帮助。

  <ext:GridPanel ID="grdNames" runat="server" Title="Names" HideCollapseTool="false" UI="Primary" HideHeaders="false" Layout="FitLayout" ColumnLines="false" BodyStyle="GridFiltros" Border="false" Region="Center" Frame="false" ForceFit="true" AutoScroll="false" Resizable="false">
                                            <Store>
                                                <ext:Store ID="strOrigen" runat="server">
                                                    <Model>
                                                        <ext:Model ID="Model25" runat="server">
                                                            <Fields>
                                                                <ext:ModelField Name="CheckNames" Type="Boolean" DefaultValue="false" />
                                                                <ext:ModelField Name="Names" />
                                                         </Fields>
                                                     </ext:Model>
                                            </Store>
                                            <View>
                                                <ext:GridView ID="GridView6" runat="server" TrackOver="true" StripeRows="true" />
                                            </View>
                                            <ColumnModel ID="ColumnModel15" runat="server">
                                                <Columns>
                                                    <ext:ComponentColumn ID="radColumn" runat="server" Width="30" DataIndex="CheckNames" Align="Left">
                                                        <Component>
                                                            <ext:Radio ID="rdGo" runat="server" Name="vGO">
                                                            </ext:Radio>
                                                        </Component>
                                                    </ext:ComponentColumn>
                                                    <ext:CheckColumn ID="CheckColumn" runat="server" DataIndex="CheckNames" Sortable="false" HideTitleEl="true" Width="35"
                                                        Resizable="false" StopSelection="false" Editable="true" Filterable="false" Align="Left"
                                                        Groupable="false" MenuDisabled="true">
                                                        <Items>
                                                            <ext:Checkbox runat="server" ID="chkRptGeoO" Checked="false">
                                                                <Listeners>
                                                                    <Change Fn="chkChangeRptGeoO"></Change>
                                                                </Listeners>
                                                            </ext:Checkbox>
                                                        </Items>
                                                    </ext:CheckColumn>
                                                    <ext:Column ID="NamesColumn" runat="server" HideTitleEl="true" DataIndex="Names" MenuDisabled="true" Width="200" TabMenuHidden="true" />
                                                </Columns>
                                            </ColumnModel>
                                            <Plugins>
                                                <ext:FilterHeader ID="grdNames" runat="server" OnCreateFilterableField="OnCreateFilterableField">
                                                </ext:FilterHeader>
                                            </Plugins>
  </ext:GridPanel>

1 个答案:

答案 0 :(得分:0)

我尝试重现您的代码,但无法重现该问题。也许你需要升级你的Ext.NET版本?

检查这是否适用于您,我尝试使用您提供的代码段重现您的方案,但也许我跳过了某些内容?

<%@ Page Language="C#" %>

<!DOCTYPE html>
<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!X.IsAjaxRequest)
        {
            strOrigen.Data = new List<object>()
            {
                new { CheckNames = false, Names = "Name 1" },
                new { CheckNames = false, Names = "Name 2" },
                new { CheckNames = true, Names = "Name 3" },
                new { CheckNames = false, Names = "Name 4" }
            };

            strOrigen.DataBind();
        }
    }
</script>

<html>
<head runat="server">
    <title></title>
</head>
<body>
    <form runat="server" id="fm1">
        <div>
            <ext:ResourceManager runat="server" />
            <ext:GridPanel ID="grdNames" runat="server" Title="Names">
                <Store>
                    <ext:Store ID="strOrigen" runat="server">
                        <Model>
                            <ext:Model ID="Model25" runat="server">
                                <Fields>
                                    <ext:ModelField Name="CheckNames" Type="Boolean" DefaultValue="false" />
                                    <ext:ModelField Name="Names" />
                                </Fields>
                            </ext:Model>
                        </Model>
                    </ext:Store>
                </Store>
                <View>
                    <ext:GridView ID="GridView6" runat="server" TrackOver="true" StripeRows="true" />
                </View>
                <ColumnModel ID="ColumnModel15" runat="server">
                    <Columns>
                        <ext:ComponentColumn ID="radColumn" Text="radCol" runat="server" Width="30" DataIndex="CheckNames">
                            <Component>
                                <ext:Radio ID="rdGo" runat="server" Name="vGO">
                                </ext:Radio>
                            </Component>
                        </ext:ComponentColumn>
                        <ext:CheckColumn ID="CheckColumn" runat="server" Text="chkCol" Editable="false" Filterable="false" DataIndex="CheckNames" Width="35" MenuDisabled="true">
                            <Items>
                                <ext:Checkbox runat="server" ID="chkRptGeoO" Checked="false">
                                </ext:Checkbox>
                            </Items>
                        </ext:CheckColumn>
                        <ext:Column ID="NamesColumn" runat="server" Text="names" DataIndex="Names" Width="200" />
                    </Columns>
                </ColumnModel>
                <Plugins>
                    <ext:FilterHeader ID="FilterHeader1" runat="server">
                    </ext:FilterHeader>
                </Plugins>
            </ext:GridPanel>
        </div>
    </form>
</body>
</html>

在这里使用Ext.NET 4.2.1。

相关问题