質問

私は、GridViewコントロールでこのような何かをしたい:

<asp:CommandField ShowSelectButton="True" Visible='<%# return Eval("SC_TABLE") %>' />

しかし、それはエラーを考え出す、動作しません。

  

データバインディング式はのみです   あるオブジェクトでサポート   DataBindingイベント。   System.Web.UI.WebControls.CommandField   DataBindingイベントを持っていません。

私はaspxページからの視認性を設定することができますとにかくありますか? PS:。SC_TABLEは、その部分からのデータソースから存在しているので、何も間違っている。

役に立ちましたか?

解決

あなたが代わりにTemplateFieldでこれを行うことができます...

<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton runat="server" ID=SelectButton CommandName="SELECT" Visible='<%# Eval("SC_TABLE") %>' Text="Select" />
    </ItemTemplate>
</asp:TemplateField>

他のヒント

私はこのポストするの最後に答えを見つけました。

基本的に、あなたはデータグリッド上RowCreatedイベントをキャプチャする必要があります。

OnRowCreated = "GridView1_RowCreated"

次に、aspx.csページ上のコントロールを非表示にするには、次のコードを使用します:

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowIndex == 1)
    {
        e.Row.Cells[0].Controls.Clear();
    } 
}
あなたが最初の列にCommandFieldを持っている場合は、

これは動作します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top