1

GridView在 asp.net 中使用。

第一列是按钮控件列表 -

<ItemTemplate>
  <asp:Button ID="statusButton" runat="server" Text="Select" 
            OnClick="statusButton_CheckedChanged" />
</ItemTemplate>

但是,我想根据表中另一列的值修改数据绑定时此按钮的背景颜色和文本值。

我的问题是我需要在检索另一列时检查它们的值,它们要么是1要么-1,并且该值将设置按钮的设计。

如何检查此绑定字段的值 -

<asp:BoundField DataField="EXCLUDE" HeaderText="EXCLUDE" SortExpression="EXCLUDE" 
     ReadOnly="True" HeaderStyle-CssClass = "hideGridColumn" 
     ItemStyle-CssClass="hideGridColumn"/>

然后设置按钮的颜色和文本?

4

2 回答 2

1

更改如下

<ItemTemplate>
     <asp:Button ID="statusButton" runat="server" Text="Select" 
        OnClick="statusButton_CheckedChanged" />
</ItemTemplate>

根据您的情况使用不同的 CSS 类

.class1{
 color:red;
 font-size:10;
}
.class2{
 color:blue;
 font-size:12;
}

<ItemTemplate>
     <asp:Button ID="statusButton" runat="server" Text="Select" 
        CssClass='<%# Convert.ToString(Eval("EXCLUDE"))== "1" ? "class1" : "class2" %>' 
        OnClick="statusButton_CheckedChanged" />
</ItemTemplate>

RowDataBound您可以按照@edwin 的建议从 C# on 事件中使用它

于 2013-02-25T11:45:42.477 回答
1

可以使用RowDataBoundgridview的事件,例如:

    myGrid.RowDataBound += new GridViewRowEventHandler(myGrid_RowDataBound);
    void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                //Raised after each row is databound
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    string value = e.Row.Cells[5].Text; //sixth column
                    if (value == "1")
                    {
                        //change button color (assuming button is in first column)
                        Button myButton = e.Row.Cells[0].Controls[0] as Button;
                        myButton.BackColor = Color.Red;
于 2013-02-25T11:46:51.430 回答