2016-08-24 6 views
0

[拒否]ではプッシュボタンが表示されません。代わりにプレーンテキストとして表示されます。以下は私が使ったコードです。Telerik RadGridのGridButtonColumnがボタンとして表示されない

<telerik:RadGrid ID="grvUpdate" runat="server" GridLines="Horizontal" 
    CellPadding="0" BorderWidth="0px" EnableEmbeddedSkins="False"   
    Width="382px" CellSpacing="0"> 
    <MasterTableView 
     AllowPaging="true" 
     PageSize="15" 
     CommandItemDisplay="Top" 
     AllowFilteringByColumn="false" DataSourceID="SqlDataSource1" AutoGenerateColumns="False" DataKeyNames="Id"> 

     <Columns> 
      <telerik:GridBoundColumn DataField="Id" DataType="System.Int64" FilterControlAltText="Filter Id column" HeaderText="Id" ReadOnly="True" SortExpression="Id" UniqueName="Id"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn DataField="Name" HeaderText="Name" SortExpression="Name" UniqueName="Name"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn DataField="Amount" HeaderText="Amount" SortExpression="Amount" UniqueName="Amount"> 
      </telerik:GridBoundColumn>     
      <telerik:GridButtonColumn ButtonType="PushButton" HeaderText="Reject" Text="Reject" UniqueName="Reject" CommandName="Reject"></telerik:GridButtonColumn> 
     </Columns> 
    </MasterTableView> 
</telerik:RadGrid> 

上記のコードでプッシュボタンを正しく表示するために必要な変更をお知らせください。

+0

私に手伝ってくれる人がいますか? –

答えて

0

を使用して、あなたのradgridはのEditFormモードで常にある場合は、確認してくださいそのコラムにはShoがありますwInEditFormプロパティをtrueに設定します。

0

EnableEmbeddedSkins="False"を設定しているため、GridButtonColumnは適切なスタイルでレンダリングされないことがあります。

できることは、GridButtonColumnにカスタムCSSを適用し、必要な方法でスタイルを設定することです。

​​

代替アプローチ

<telerik:GridButtonColumn ButtonType="PushButton" HeaderText="Reject" Text="Reject" UniqueName="Reject" CommandName="Reject"></telerik:GridButtonColumn> 

protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) 
{ 
    if (e.Item is GridDataItem) 
    { 
     var dataItem = (GridDataItem)e.Item; 
      (dataItem["Reject"].Controls[0] as Button).CssClass = "MyButtonStyle"; 
    } 
} 

<style type="text/css"> 
    .MyButtonStyle 
    { 
     background-color:black !important; 
     color:white!important; 
    } 
</style> 

次のコードは、私の作品

<telerik:GridTemplateColumn FilterControlAltText="Filter Reject column" UniqueName="Reject" HeaderText="Reject" Display="true"> 
        <ItemTemplate> 
         <telerik:RadButton ID="Button1" runat="server" ButtonType="StandardButton" Text="Reject" CommandName="Reject" /> 
        </ItemTemplate> 
       </telerik:GridTemplateColumn> 
+0

私はEnableEmbeddedSkins = "False"を削除しましたが、依然としてTextとして表示されています。どのように私は通常のボタンとしてそれを作るためにCSSで適用することができます。 –

+0

@ CPK_2011私は自分の答えを更新しました。あなたは提案された別の方法を試すことができます。それがあなたのために働くかどうかを見てください。 – woodykiddy

+0

しかし、これは動作しません。これは、色が適用されたプレーンラベルを追加しています。 GridButtonColumnの中にを適用しようとしました。これも機能しませんでした。次に、HTML Button

0

をカスタムテンプレート

<telerik:GridTemplateColumn> 
     <ItemTemplate> 
      <asp:Button ID="btnReject" runat="server" CommandName="Reject" CommandArgument='<%# Eval("Id") %>'/> 
     </ItemTemplate> 
</telerik:GridTemplateColumn> 

protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e) 
    { 
     if (e.CommandName == "Reject") 
     { 
      var Id = e.CommandArgument.ToString(); 
      // do something... 
     } 
    } 
関連する問題