Radgrid의 필터링이 작동하지 않습니다
문제
필터링을 위해 몇 개의 필드가있는 radgrid를 만들었고 필터링이 작동하지 않는 것 같습니다. 필터 상자에 무언가를 입력 한 후 다시 게시하는 것을 볼 수 있지만 결과는 항상 동일합니다. ASPX 파일에서 다음 정의를 사용하고 있습니다.
<telerik:RadGrid PageSize="4" ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" OnNeedDataSource="RadGrid1_NeedDataSource"
OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged" Skin="Black" ShowFooter="True"
ShowStatusBar="True" AllowFilteringByColumn="True"
EnableLinqExpressions="False">
<MasterTableView AllowFilteringByColumn="true" Caption="Select a Customer">
<Columns>
<telerik:GridTemplateColumn CurrentFilterFunction="StartsWith" HeaderText="First Name" AllowFiltering="true" AutoPostBackOnFilter="true">
<ItemTemplate>
<%#GetFirstName(DataBinder.Eval(Container, "DataItem"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Last Name" AllowFiltering="true" AutoPostBackOnFilter="true">
<ItemTemplate>
<%#GetLastName(DataBinder.Eval(Container, "DataItem"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Address">
<ItemTemplate>
<%#GetAddress(DataBinder.Eval(Container, "DataItem"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Shop">
<ItemTemplate>
<%#GetShopName(DataBinder.Eval(Container, "DataItem"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
</MasterTableView>
<ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="True">
<Selecting AllowRowSelect="true" />
</ClientSettings>
<PagerStyle Mode="NumericPages" />
</telerik:RadGrid>
그리고 나는 내 코드에서 다음을 얻었습니다.
protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
BusinessLayer.Customers Customers = new BusinessLayer.Customers();
Customers.GetBySQLStatement(GetCustomerSQL());
this.RadGrid1.DataSource = Customers;
}
어떤 아이디어?
해결책
추가하다 데이터 필드 각 열 또는 사용에 대해 Gridboundcolumns gridtemplatecolumn 대신.
다른 팁
당신의 그리드 정의는 나에게 괜찮아 보인다 - 문제가 어디에 있는지 확실하지 않다. 나는 지금부터 Telerik 그리드를 사용하고 당신의 신발에서 내 코드를 디버깅하고 mas .
형사
Public Sub RadGrid_NeedDataSource(ByVal source As RadGrid, ByVal e As GridNeedDataSourceEventArgs) 'Handles RadGrid.NeedDataSource
Dim RadGrid As RadGrid = CType(source, RadGrid)
'Dim nestedItem As GridNestedViewItem = CType(source.NamingContainer, GridNestedViewItem)
'Dim CustomerID = CType(nestedItem.ParentItem, GridDataItem).GetDataKeyValue(source.Attributes("TableID"))
Dim gridSortString As String = RadGrid.MasterTableView.SortExpressions.GetSortString()
Dim args As New DataSourceSelectArguments(gridSortString)
If gridSortString Is Nothing Then
RadGrid.DataSource = GetDataTable("SELECT * FROM [" + source.Attributes("TableName") + "] ") 'Where CustomerID = N'" + CustomerID + "'
Else
RadGrid.DataSource = GetDataTable("SELECT * FROM [" + source.Attributes("TableName") + "] ORDER BY " & gridSortString) 'Where CustomerID = N'" + CustomerID + "'
End If
End Sub
제휴하지 않습니다 StackOverflow