2013-07-15 2 views
1

나는 내 radgrid에 자동 생성 된 열을 가지고 있으며 키 입력시 열 필터링을 사용하려고합니다. 검색 텍스트를 입력하고 Enter 키를 누르면 다음 오류가 발생합니다. 뒤에AutoPostBackOnFilter failed

Uncaught TypeError: Cannot read property 'value' of null

<telerik:RadGrid ID="gridSearchL3" runat="server" AllowPagg="True" 
      GridLines="None" Height="415px" 
      OnNeedDataSource="RadGrid1_NeedDataSource" 
      Font-Names="Eras Medium ITC" Font-Size="Small" PageSize="50" 
      AllowFilteringByColumn="True" 

      AllowSorting="True" ShowStatusBar="True" AllowPaging="True" CellSpacing="0" 
       oncolumncreated="gridSearchL3_ColumnCreated1" onitemcommand="gridSearchL3_ItemCommand" 
       > 
       <FilterItemStyle Font-Names="Eras Medium ITC" Font-Size="XX-Small" /> 
       <GroupingSettings CaseSensitive="False" /> 
      <ExportSettings Excel-Format="ExcelML" ExportOnlyData="True" 
       FileName="PinC Group" IgnorePaging="True" OpenInNewWindow="True"> 
       <Excel Format="ExcelML" /> 
      </ExportSettings> 
      <ClientSettings> 

       <Selecting AllowRowSelect="True" /> 
       <Scrolling AllowScroll="True" UseStaticHeaders="True" /> 

      </ClientSettings> 
      <AlternatingItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
      <GroupHeaderItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
      <SortingSettings EnableSkinSortStyles="false" /> 
      <MasterTableView Font-Names="Eras Medium ITC" 
        Font-Size="X-Small"> 

       <CommandItemSettings ExportToPdfText="Export to Pdf" /> 

       <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> 
       </RowIndicatorColumn> 
       <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> 
       </ExpandCollapseColumn> 

       <EditFormSettings> 
        <EditColumn FilterControlAltText="Filter EditCommandColumn column"> 
        </EditColumn> 
       </EditFormSettings> 
       <ItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
       <PagerStyle Mode="NextPrevNumericAndAdvanced" /> 
       <FilterItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
      </MasterTableView> 
      <EditItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
      <FooterStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
      <HeaderStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
      <FilterItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
       <CommandItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
       <ActiveItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
       <ItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
       <PagerStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" 
        HorizontalAlign="Left" Mode="NextPrevNumericAndAdvanced" /> 
       <SelectedItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
       <FilterMenu Font-Names="Eras Medium ITC" Font-Size="X-Small" 
       EnableRoundedCorners="True"> 
       </FilterMenu> 
       <HeaderContextMenu Font-Names="Eras Medium ITC" Font-Size="X-Small" 
        Skin="Simple"> 
       </HeaderContextMenu> 
       </telerik:RadGrid> 

코드 :

public void setSqlDatSource() 
    { 

     gridSearchL3.DataSource = getsource(); 

    } 


public DataTable getsource() 
    { 
     string Query; 

     Query = @"select distinct h.DocumentNumber 'Document Number' " + 
       " from tblDocumentHeader h where h.DocumentHeaderTypeID=3 "; 

     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["PinCBusMgtDocs.Properties.Settings.PINCConnectionString"].ConnectionString); 
     DataTable dt = new DataTable(); 
     using (SqlDataAdapter da = new SqlDataAdapter(Query, con)) 
     { 

      da.Fill(dt); 
     } 

     return dt; 
    } 


protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) 
    { 

     setSqlDatSource(); 

    } 

    protected void gridSearchL3_ColumnCreated1(object sender, GridColumnCreatedEventArgs e) 
    { 
     if (e.Column.UniqueName == "Document Number") 
     { 
      e.Column.FilterControlWidth = 120; 
      e.Column.HeaderStyle.Width = Unit.Pixel(120); 
      e.Column.AutoPostBackOnFilter = true; 
      e.Column.CurrentFilterFunction = GridKnownFunction.Contains; 
     } 

     } 


    } 

답변

0

는 아래 코드로 시도하십시오.

ASPX

<telerik:RadGrid ID="gridSearchL3" runat="server" AllowPagg="True" GridLines="None" 
    OnNeedDataSource="RadGrid1_NeedDataSource" Font-Names="Eras Medium ITC" Font-Size="Small" 
    PageSize="50" AllowFilteringByColumn="True" AllowSorting="True" ShowStatusBar="True" 
    AllowPaging="True" CellSpacing="0" OnColumnCreated="gridSearchL3_ColumnCreated1" EnableLinqExpressions="false"> 
    <FilterItemStyle Font-Names="Eras Medium ITC" Font-Size="XX-Small" /> 
    <GroupingSettings CaseSensitive="False" /> 
    <ExportSettings Excel-Format="ExcelML" ExportOnlyData="True" FileName="PinC Group" 
     IgnorePaging="True" OpenInNewWindow="True"> 
     <Excel Format="ExcelML" /> 
    </ExportSettings> 
    <ClientSettings> 
     <Selecting AllowRowSelect="True" /> 
     <Scrolling AllowScroll="True" UseStaticHeaders="True" /> 
    </ClientSettings> 
    <AlternatingItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <GroupHeaderItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <SortingSettings EnableSkinSortStyles="false" /> 
    <MasterTableView Font-Names="Eras Medium ITC" Font-Size="X-Small"> 
     <CommandItemSettings ExportToPdfText="Export to Pdf" /> 
     <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> 
     </RowIndicatorColumn> 
     <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> 
     </ExpandCollapseColumn> 
     <EditFormSettings> 
      <EditColumn FilterControlAltText="Filter EditCommandColumn column"> 
      </EditColumn> 
     </EditFormSettings> 
     <ItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
     <PagerStyle Mode="NextPrevNumericAndAdvanced" /> 
     <FilterItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    </MasterTableView> 
    <EditItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <FooterStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <HeaderStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <FilterItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <CommandItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <ActiveItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <ItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <PagerStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" HorizontalAlign="Left" 
     Mode="NextPrevNumericAndAdvanced" /> 
    <SelectedItemStyle Font-Names="Eras Medium ITC" Font-Size="X-Small" /> 
    <FilterMenu Font-Names="Eras Medium ITC" Font-Size="X-Small" EnableRoundedCorners="True"> 
    </FilterMenu> 
    <HeaderContextMenu Font-Names="Eras Medium ITC" Font-Size="X-Small" Skin="Simple"> 
    </HeaderContextMenu> 
</telerik:RadGrid> 

ASPX.CS

public void setSqlDatSource() 
{ 

    gridSearchL3.DataSource = getsource(); 

} 


public DataTable getsource() 
{ 

    DataTable dt = new DataTable(); 
    dt.Columns.Add("Shipper", typeof(string)); 
    dt.Columns.Add("ShipperTemp", typeof(string)); 
    dt.Columns.Add("DocumentNumber", typeof(string)); 
    dt.Rows.Add("CShipper1", "1", "DocumentNumber1"); 
    dt.Rows.Add("BShipper2", "2", "DocumentNumber2"); 
    dt.Rows.Add("AShipper3", "3", "DocumentNumber3"); 
    dt.Rows.Add("EShipper4", "4", "DocumentNumber4"); 
    dt.Rows.Add("DShipper5", "5", "DocumentNumber5"); 

    return dt; 
} 


protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) 
{ 

    setSqlDatSource(); 

} 

protected void gridSearchL3_ColumnCreated1(object sender, GridColumnCreatedEventArgs e) 
{ 
    if (e.Column.UniqueName == "DocumentNumber") 
    { 
     e.Column.FilterControlWidth = 120; 
     e.Column.HeaderStyle.Width = Unit.Pixel(120); 
     e.Column.AutoPostBackOnFilter = true; 
     e.Column.CurrentFilterFunction = GridKnownFunction.Contains; 
     e.Column.HeaderText = "Document Number"; 
    } 
} 
+1

안녕하세요! 나중에 SQL 쿼리에서 열 이름에 공백이나 #, -와 같은 특수 문자가 포함되어서는 안된다는 것을 알았습니다. 나는 그들을 내 sql 쿼리에서 제거하고 모든 것이 이제는 잘 작동한다. – chamara

+0

@chamara, 아주 좋은 캐치였다. Telerik에서 지원하는 doc (알려진 문제)에 telerik이 포함되어 있기를 바랍니다. 지원 문서를 제공 할 수 있습니까? url 어디서 이런 걸 설명 했니? –