2016-06-28 3 views
0

Я новый в C# и Telerik.Как искать данные из telerik RadGrid?

У меня есть radgrid с MasterTableView с некоторыми столбцами. Я использую хранимые процедуры для вставки, обновления и удаления данных.

Я хочу искать данные RadGrid через мой стол. Как я могу это сделать?

<h6>Filtros</h6> 
<table class="table table-condensed" style="margin-top: 25px; padding-top: 10px;"> 
    <tr> 
     <td style="width: 80px">Filtro 
     </td> 
     <td style="width: 30%;"> 
      <telerik:RadTextBox ID="txtFiltro" runat="server" EmptyMessage="insert name, department or teacher group" Width="90%"></telerik:RadTextBox> 
     </td> 
     <td> 
      <telerik:RadButton ID="lbSearch" 
       Visible="true" 
       runat="server" 
       Text="pesquisar" 
       CausesValidation="false" 
       Style="background-color: #FFFFFF"> 
       <Icon PrimaryIconCssClass="icon-search" PrimaryIconLeft="5px" PrimaryIconTop="4px" /> 
      </telerik:RadButton> 
     </td> 
    </tr> 
</table> 

<telerik:RadGrid ID="lstProfessores" runat="server" AutoGenerateColumns="False" CellSpacing="0"GridLines="None"OnInsertCommand="lstProfessores_InsertCommand"OnUpdateCommand="lstDocentes_UpdateCommand" > 

    <MasterTableView CommandItemDisplay="Top"> 
     <Columns> 
      <telerik:GridButtonColumn ButtonCssClass="icon-pencil" UniqueName="Edit" CommandName="Edit"> 
       <HeaderStyle Width="30px" /> 
      </telerik:GridButtonColumn>  

      <telerik:GridButtonColumn ButtonCssClass="icon-trash" UniqueName="Delete" CommandName="Delete" ConfirmDialogType="RadWindow" ConfirmText="Continuar com a remoção?"> 
       <HeaderStyle Width="30px" /> 
      </telerik:GridButtonColumn>  

      <telerik:GridBoundColumn HeaderText="IdTeacher" DataField="IdTeacher" UniqueName="IdTeacher" DataType="System.Int32" SortExpression="IdTeacher"> 
        <ColumnValidationSettings> 
        <ModelErrorMessage Text=""></ModelErrorMessage> 
        </ColumnValidationSettings> 
      </telerik:GridBoundColumn> 

      <telerik:GridBoundColumn HeaderText="Name" DataField="Name" UniqueName="Name" SortExpression="Name"> 
        <ColumnValidationSettings> 
        <ModelErrorMessage Text=""></ModelErrorMessage> 
        </ColumnValidationSettings> 
      </telerik:GridBoundColumn> 

      <telerik:GridBoundColumn DataField="Department" HeaderText="Departamento" SortExpression="Departamento" UniqueName="Departamento"> 
        <ColumnValidationSettings> 
         <ModelErrorMessage Text="" /> 
        </ColumnValidationSettings> 
      </telerik:GridBoundColumn> 

      <telerik:GridBoundColumn DataField="TeacherGroup" HeaderText="TeacherGroup" SortExpression="TeacherGroup" UniqueName="TeacherGroup"> 
        <ColumnValidationSettings> 
         <ModelErrorMessage Text="" /> 
        </ColumnValidationSettings> 
      </telerik:GridBoundColumn> 
      <telerik:GridEditCommandColumn /> 
     </Columns> 

    </MasterTableView> 
</telerik:RadGrid> 
+0

вы знаете, что есть сайт поддержки Telerik с примерами вы проверили свой сайт, по крайней мере ..? – MethodMan

ответ

1

Как вы заполняете сетку, используя модель вида/стола? Если это так, вам просто нужно нажать на событие привязки данных и отфильтровать результаты.

protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) 
{ 
    var dataSource = myDataSource.Where(s => s.ColumnToSearch == mySearchTextBoxValue); 
    RadGrid1.DataSource = dataSource; 
} 

Если вы заполняете сетку хранимой процедурой, это будет сложнее.

0

В дополнение к подходу, предложенному Seano666, вы также можете попробовать привязать свой RadGrid к элементу управления источником данных, например. SQLDataSource, если ваш сайт подключается к базе данных SQL Server. Элемент управления позволяет вам указать параметры, чтобы вы могли передать их в свою хранимую процедуру для обработки данных. В вашем случае выберите фильтр, основанный на имени, отделе или группе преподавателей.

<asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:Your Connection String %>" ProviderName="System.Data.SqlClient" SelectCommand="Your Stored Procedure" SelectCommandType="StoredProcedure" runat="server"> 

<telerik:RadGrid ID="lstProfessores" runat="server" AutoGenerateColumns="False" CellSpacing="0"GridLines="None" OnInsertCommand="lstProfessores_InsertCommand"OnUpdateCommand="lstDocentes_UpdateCommand" DataSourceId="SqlDataSource1"> 
//... 
</telerk:RadGrid> 

Но в идеале, путем реализации OnNeedDataSource событие RadGrid дает вам больший контроль и гибкость в долгосрочной перспективе.

Ссылки:

http://www.telerik.com/forums/telerik-radgrid-datasource-with-stored-procedure
http://forums.asp.net/t/1019588.aspx?Passing+parameters+to+Sqldatasource+stored+procedurehttps://msdn.microsoft.com/en-us/library/z72eefad.aspx