简体   繁体   中英

Gridview color not changing when a button is clicked

I am currently developing a webpage that retrieves the data from SQLdatasource on the click of a button. I also included a function to highlight specific rows. It works on page load however it doesn't work on a button click.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Timers;
using System.Drawing;

namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        filterButton.Click += new EventHandler(this.filterButton_Click);
        prodTab.Rows[1].Cells[7].BackColor = Color.Red;

    }


    protected void filterButton_Click(object sender, EventArgs e)
    {

        string newQuery = "SELECT top 10 A.[LogOn],A.[Tcode],B.[Name],A.[Item],A.[ToLocation] AS [BIN],A.[Quantity],A.[ToStorageLocation] AS [Production Line],A." +
            "[Flag],A.[Remarks] FROM [IBusiness].[dbo].[SY_TransferOrderLog] A INNER JOIN" + " [IBusiness].[dbo].[ST_SY_User] B ON A.[UserId] = B.[UserId] WHERE " +
            "(Tcode ='T32' OR Tcode ='B32') And [LogOn] BETWEEN GETDATE()-1 AND GETDATE() and B.[User] = '" + TextBox1.Text + "' Order By LogOn desc";

        string command = SqlDataSource.SelectCommand; // added just for debug purpose
        SqlDataSource.SelectCommand = newQuery;

        prodTab.Rows[1].Cells[7].BackColor = Color.Red;
    }

}
}

Make sure you change the cell color AFTER (re)binding data to the GridView.

This works for coloring the cell

prodTab.DataSource = source;
prodTab.DataBind();

prodTab.Rows[1].Cells[1].BackColor = Color.Red;

This does not because it is being overwritten by the defaults.

prodTab.Rows[1].Cells[1].BackColor = Color.Red;

prodTab.DataSource = source;
prodTab.DataBind();

将runat =“ server”属性添加到aspx页面中的按钮

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM