0

グリッドビューの特定の列を読み取り専用にするのは非常に簡単です。しかし、最初または選択した行を読み取り専用にする必要があります。他の編集可能な行に影響を与えずにこれを達成することは可能ですか?

これが私の現在のコードです。(サンプル)

   <Columns>                
        <asp:CommandField ShowEditButton="True" HeaderText="Edit" />
        <asp:BoundField DataField="Col1" ReadOnly="true" />
        <asp:BoundField DataField="Col2" ReadOnly="false" />
        <asp:BoundField DataField="Col3" ReadOnly="false" />

行の視点で。最初の列は常に読み取り専用で、他の 2 行は編集可能です。最初の行に編集ボタンを表示したくありません。最初の行を完全に読み取り専用にしたい。これを達成する方法は?

編集:

上記を実現するのが難しい場合は、データテーブルの最初の行をグリッドビューのフッター行に追加する方法を知りたいと思っています (commandField が編集ボタンをフッターに追加しないと仮定して...)

4

1 に答える 1

0

最初の行を編集不可にするRowDataBoundには、GridView のイベントを使用して [編集] ボタンを非表示にします。

CommandField最初にあなたを に変換し、イベントで編集ボタンTemplateFieldを非表示にします。RowDataBound

次のようなものを試してください

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{

    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (e.Row.RowIndex == 0)
        {
            e.Row.FindControl("EditLinkButtonName").Visible = false;
        }
    }
}
于 2014-07-10T03:43:21.077 に答える