私のasp.netアプリケーションにgridviewがあります。 (何かを)例えば行に空のセルが含まれている場合、gridviewのボタンフィールドを表示および非表示にする方法
SN名日付アクション
1マイクボタン
は、これはほんの一私のGridViewの行のうちです。空のセルを持つ行ごとに、行のボタンフィールドセルが表示されます。その行に空のセルがない場合、ボタンは非表示にする必要があります。私のコードでは、表示されているすべてのボタンが偽になり、欲しくないということです。ここで
は、このコードを試す<asp:GridView ID="GridView1" runat="server" AllowPaging="True" Height="326px" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="5" style="text-align: left; margin-left: 169px" Width="1069px" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" OnRowDataBound="GridView1_RowDataBound" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand" OnRowEditing="GridView1_RowEditing">
<Columns>
<asp:BoundField HeaderText="S/N" DataField="SN" />
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Address" DataField="Address" />
<asp:BoundField HeaderText="Phone Number" DataField="PhoneNumber" />
<asp:BoundField HeaderText="Sex" DataField="Sex" />
<asp:BoundField HeaderText="Reason" DataField="Reason" />
<asp:BoundField HeaderText="SignIn" DataField="SignIn_Time" />
<asp:BoundField HeaderText="SignOut" DataField="Signout_Time" />
<asp:TemplateField HeaderText="Action" Visible="True">
<ItemTemplate>
<asp:Button ID="out" runat="server" Text="Sign out" CommandName="SignOut" CommandArgument='<%# Eval("SN") %>' CssClass="active"/>
</ItemTemplate>
</asp:TemplateField>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i =0 ; i < e.Row.Cells.Count; i ++)
{
if (e.Row.Cells[i].Text == " ")
{
Button status = (Button)e.Row.FindControl("out");
status.Visible = true;
}
else
{
Button status = (Button)e.Row.FindControl("out");
status.Visible = false;
}
}
}
}
おそらく 'e.Row.Cells [i] .Text ==" "'は決して真実ではありませんか?これをデバッグすると、空のセルの実際のテキスト値はどうなりますか?それは空ではないでしょうか? – David