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.