根据返回值设置按钮的值

时间:2013-02-25 11:25:15

标签: c# asp.net gridview

我在asp.net中使用GridView

第一列是按钮控件列表 -

<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"/>

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

2 个答案:

答案 0 :(得分: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>

您可以根据@edwin

的建议,在RowDataBound事件的C#中使用它

答案 1 :(得分:1)

您可以使用gridview的RowDataBound事件,例如:

    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;