2

現在、その行の任意の場所をクリックして行を選択できるグリッドビューがあります。ただし、問題があります。AutoGenerateSelectButton を true に設定する必要があります。これは、選択ボタンが表示され、グリッド ビューの一部になったことを意味します。グリッドのサイズを乱さずに非表示にする方法があるかどうか知りたいですか?

4

6 に答える 6

5

CSS で列を非表示にすることを検討しましたか? RowDataBoundこれは、次のイベントで実行できます。

protected void yourGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[0].Style["display"] = "none";
    // or e.Row.Cells[0].CssClass = "hidden-cell";
}
于 2012-08-09T04:15:17.753 に答える
0

各行を検査し、必要に応じてラベルを非表示/調整します。

foreach (GridViewRow r in gv.Rows)
            {
                if (r.RowType == DataControlRowType.DataRow)
                {
                    TableCell editCell = r.Cells[0];
                    if (editCell.Controls.Count > 0)
                    {
                        LinkButton editControl = editCell.Controls[0] as LinkButton;
                        // control[1] is a literal space
                        LinkButton selectControl = editCell.Controls[2] as LinkButton;
                        editControl.Text = "New Edit Label Text";
                        //Ensure "Select" control, not "Cancel" control 
                        selectControl.Text = selectControl.Text == "Select" ? "New Select Label Text" : selectControl.Text;
                    }
                }
            }
于 2012-08-23T19:11:57.480 に答える
0

デレクの答えに基づいて、これが私がやったことです

<asp:Panel ID="pnl" runat="server" Visible="false">
<asp:GridView ID="gv" runat="server" Width="100%" AutoGenerateColumns="False"
    DataKeyNames="BillingAccountNo" OnRowDataBound="gv_RowDataBound"
    OnSelectedIndexChanged="dgBillingInformation_SelectedIndexChanged">
    <Columns>>
        <asp:BoundField DataField="field" HeaderText="field" />
        <asp:BoundField DataField="field" HeaderText="field" />
        <asp:CommandField ShowSelectButton="true" ButtonType="Button" Visible="true" />
    </Columns>
    <SelectedRowStyle BackColor="LightCyan" ForeColor="DarkBlue" Font-Bold="true" />
</asp:GridView>

選択ボタンをグリッドビューの最後に配置し、デレクのコードビハインドを使用して最後の行をマスクし、非表示の選択ボタンがテーブルヘッダーで台無しになる問題を解消しました。

于 2013-07-12T06:56:27.803 に答える
0

次のコマンドを使用して、列全体を非表示にし、作業が完了したら再び表示することができます。

YourGridView.columns(0).Visible = False //Will hide the entire first column with all the select links in there. 

また、ヘッダー列を左にシフトして、印刷などで正しく一致するようにします...

その後、再度表示する必要がある場合は、属性を再度 true に変更します。これは VB 構文です。おそらく、C# の列インデックスに [] を使用することをお勧めします。

于 2016-09-28T17:01:07.633 に答える