2014-01-17 5 views
0

Кто-нибудь знает, как получить содержимое элемента управления на Telerik RadGrid GridNoRecordsItem пока вы находитесь в ItemCommand?Как получить доступ к элементу GridNoRecordsItem из ItemCommand?

Зачем мне это нужно, спросите вы. Было бы полезно показать элементы управления выбором, когда нет данных, но скрыть элементы управления выбором, когда есть данные. Более конкретно, у меня есть кнопка, которая позволит пользователю автозаполнять данные - но только если данных уже нет.

Вот мой RadGrid GridNoRecordsItem:

<telerik:RadGrid ID="grdPrices" runat="server" AutoGenerateColumns="False" 
    OnItemCommand="grdPrices_ItemCommand" 
    OnNeedDataSource="grdPrices_NeedDataSource" > 
    <MasterTableView DataKeyNames="Billing_Price_ID" CommandItemDisplay="Bottom"> 
     <Columns> 
      <telerik:GridBoundColumn UniqueName="CD" HeaderText="CD" DataField="CD"/> 
     </Columns> 
     <NoRecordsTemplate> 
      <div id="divNoRecordsEdit" runat="server" style="padding: 5px 5px;"> 
       <table> 
        <tr> 
         <td>Start:</td> 
         <td><telerik:RadDatePicker ID="dtStart" runat="server" /></td> 
         <td>End:</td> 
         <td><telerik:RadDatePicker ID="dtEnd" runat="server" /></td> 
         <td><asp:Button ID="btnAddPrices" runat="server" Text="Autofill" CommandName="Autofill"/></td> 
        </tr> 
       </table> 
      </div> 
     </NoRecordsTemplate> 
    </MasterTableView> 
</telerik:RadGrid> 

А вот мой ItemCommand:

protected void grdPrices_ItemCommand(object sender, GridCommandEventArgs e) { 
    if (e.CommandName.Equals("Autofill")) { 

     // This line is not OK! 
     GridNoRecordsItem noRecordsItem = (GridNoRecordsItem)e.Item; 

     string start = "" + noRecordsItem.FindControl("dtStart").Value; 
     string end = "" + noRecordsItem.FindControl("dtEnd").Value; 
    } 
} 

Идеи кто?

ответ

0

Это действительно работает правильно, я рад сказать. Я не знаю, почему я думал, что это неправильно!

protected void grdPrices_ItemCommand(object sender, GridCommandEventArgs e) { 
    if (e.CommandName.Equals("Autofill")) { 

     // This line actually is OK! 
     GridNoRecordsItem noRecordsItem = (GridNoRecordsItem)e.Item; 

     string start = "" + noRecordsItem.FindControl("dtStart").Value; 
     string end = "" + noRecordsItem.FindControl("dtEnd").Value; 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^