【问题标题】:How to access telerik controls from telerik radgrid如何从 Telerik radgrid 访问 Telerik 控件
【发布时间】:2012-02-03 04:10:11
【问题描述】:

如何从 radgrid 下方访问作为 RadAsyncUpload 的 Telerik 控件。我在 aspx 页面中有以下代码。在页面加载期间,我需要在某些情况下禁用 Telerik 控件。如何从下面的代码中禁用 Telerik 控件?

<telerik:RadGrid ID="RadGrid1"
                 runat="server"
                 AutoGenerateColumns="False"
                 GridLines="None"
                 Skin="Black" 
                 Width="750px"
                 Height="320px">
  <PagerStyle Mode="NextPrevAndNumeric" />
  <SelectedItemStyle CssClass="SelectedItem"/>                        
  <MasterTableView EditMode="InPlace"
                   CommandItemDisplay="None"
                   AllowFilteringByColumn="True"
                   DataKeyNames="FileName">
    <Columns>
      <telerik:GridBoundColumn ReadOnly="true"
                               DataField="FileName"
                               UniqueName="FileName"
                               AllowFiltering="false"
                               ItemStyle-Width="200px"
                               HeaderStyle-Width="205px"
                               HeaderStyle-HorizontalAlign="Left"
                               ItemStyle-HorizontalAlign="Left"
                               ItemStyle-BackColor="Gray">
      </telerik:GridBoundColumn> 
      <telerik:GridTemplateColumn UniqueName="FilePath"
                                  Visible="true"
                                  ItemStyle-Width="310px"
                                  HeaderStyle-Width="355px"
                                  HeaderStyle-HorizontalAlign="Left"
                                  ItemStyle-HorizontalAlign="Left"
                                  AllowFiltering="false"
                                  ItemStyle-BackColor="Gray">
        <ItemTemplate>                                        
          <telerik:RadAsyncUpload runat="server" ID="RadUpload1">
          </telerik:RadAsyncUpload>
        </ItemTemplate>
      </telerik:GridTemplateColumn>
    </Columns>
  </MasterTableView>
</telerik:RadGrid>

【问题讨论】:

  • 请详细说明您的问题。是否要禁用 RadAsyncUpload 控件?
  • 只有我在执行某些条件的页面加载期间禁用了 RadAsyncUpload 控件..

标签: asp.net


【解决方案1】:

你可以挂钩到RadGrid的ItemDataBound事件,然后找到控件,你可以查看这个链接。 Telerik RadGrid - databound Events.

SomeGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
RadAsyncUpload objUpload = (RadAsyncUpload) e.Item.FindControl("RadUpload1"); 

if(opbjUpload !=null) 
{
   // do some thing with Upload Obj.
}

}
}

【讨论】:

  • thanq...如何在条件下禁用 RadAsyncUpload 控件
  • @user1177921 你需要在 itemDataBound 事件中绑定
【解决方案2】:

您将在 RadGrid 的 DataBinding / DataBound Item 事件期间禁用 RadAsyncUpload 控件。

DataBinding / DataBound 是在服务器控件绑定到数据源时发生的事件。 (继承自控制。)

当您绑定 RadGrid 控件时。例如。

     protected void Page_Load(object sender,System.EventArgs e)
      {
          if(!IsPostBack)
          {
// Here I creates temporary datatable..
// you can generate dynamic DataTable from SQL query to fill DataSet/DataTable.
// Here I created temp DataTable for Binding RadGrid grid control..
            DataTable dt = new DataTable("temp");        

            RadGrid.DataSource= dt;
            RadGrid.DataBind();
            // It will event fired When you binding data source.
            // If You have to added "RadGrid_ItemDataBound" Item bound event to the <RADGRID >... control.
          }
       }
          protected void RadGrid_ItemDataBound(object sender, GridItemEventArgs e)
            {
               if (e.Item is GridDataItem)
               {
                  RadAsyncUpload asyncUpload = (RadAsyncUpload) e.Item.FindControl("RadAsyncUploadControlID");     
                  bool blUploadControlHide=true;
                  if(asyncUpload  !=null) 
                  {
                     if(blUploadControlHide)
                     {   
                       asyncUpload.Enabled = false;
                       //If you can hide then write asyncUpload.Visible = false;
                     }
                     else
                     {
                       asyncUpload.Enabled = true;
                     }
                   }     
               }
            }

参考Radgrid Events

谢谢

【讨论】:

  • ...我没有参加 radgrid 活动..你能提供意见吗
  • Thanq..关于此事件将触发的条件...请帮助我是 asp.net 的新手...
  • @user1177921 当 RADGrid 控件的 Items 绑定时,它会被触发。你可以通过放置断点来检查。
  • @user1177921 看到了我上面提到的上面的例子。
  • ..thanq 这么多..很好的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多