我目前正在开发一个网页,只需单击一个按钮即可从 SQLdatasource 检索数据。我还包括一个突出显示特定行的功能。 它适用于页面加载,但不适用于单击按钮。
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;
}
}
}
最佳答案
确保在(重新)绑定(bind)数据到 GridView 后更改单元格颜色。
这适用于为单元格着色
prodTab.DataSource = source;
prodTab.DataBind();
prodTab.Rows[1].Cells[1].BackColor = Color.Red;
这不是因为它被默认值覆盖了。
prodTab.Rows[1].Cells[1].BackColor = Color.Red;
prodTab.DataSource = source;
prodTab.DataBind();
关于c# - 单击按钮时 Gridview 颜色不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51784457/