如何在 C# winforms 中从数据库加载数据后更改 dev express 网格中的行颜色
how to change row color in dev express grid after the data is loaded from the database in c# winforms
我是 dev express 的新手。
我想在 C# winforms 中加载数据后更改 dev express 网格中的行背景颜色。
我正在使用以下代码填充数据网格
string sReportSql = "SELECT * FROM Employee";
private void Form_Load(object sender, EventArgs e)
{
dataGridView.DataSource = GeDataFromDb();
}
private DataTable GeDataFromDb()
{
DataTable dtGenericReport = new DataTable();
using (SqlConnection con = new SqlConnection(connString))
{
if (sReportSql != null)
{
using (SqlCommand cmd = new SqlCommand(sReportSql, con))
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
dtGenericReport.Load(reader);
}
}
}
return dtGenericReport;
}
我尝试使用 Row Style 事件,但它似乎不起作用
private void gridview1_RowStyle(object sender, RowStyleEventArgs e)
{
GridView View = sender as GridView;
if (e.RowHandle >= 0) {
string status = View.GetRowCellDisplayText(e.RowHandle, View.Columns["status"]);
if (status == "Completed") {
e.Appearance.BackColor = Color.IndianRed;
}
}
}
据我所知,最好的方法是使用 CustomDrawCell 事件。类似于下面的代码。
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
GridView View = sender as GridView;
if (e.RowHandle >= 0) {
string status = View.GetRowCellDisplayText(e.RowHandle, View.Columns["status"]);
if (status == "Completed") {
e.Appearance.BackColor = Color.IndianRed;
}
}
}
我觉得你的代码没有问题
我觉得活动的名字gridview1_RowStyle
应该是gridview_RowStyle
您可能选错了另一个 gridview
你可以在运行设计器中查看
我是 dev express 的新手。
我想在 C# winforms 中加载数据后更改 dev express 网格中的行背景颜色。
我正在使用以下代码填充数据网格
string sReportSql = "SELECT * FROM Employee";
private void Form_Load(object sender, EventArgs e)
{
dataGridView.DataSource = GeDataFromDb();
}
private DataTable GeDataFromDb()
{
DataTable dtGenericReport = new DataTable();
using (SqlConnection con = new SqlConnection(connString))
{
if (sReportSql != null)
{
using (SqlCommand cmd = new SqlCommand(sReportSql, con))
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
dtGenericReport.Load(reader);
}
}
}
return dtGenericReport;
}
我尝试使用 Row Style 事件,但它似乎不起作用
private void gridview1_RowStyle(object sender, RowStyleEventArgs e)
{
GridView View = sender as GridView;
if (e.RowHandle >= 0) {
string status = View.GetRowCellDisplayText(e.RowHandle, View.Columns["status"]);
if (status == "Completed") {
e.Appearance.BackColor = Color.IndianRed;
}
}
}
据我所知,最好的方法是使用 CustomDrawCell 事件。类似于下面的代码。
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
GridView View = sender as GridView;
if (e.RowHandle >= 0) {
string status = View.GetRowCellDisplayText(e.RowHandle, View.Columns["status"]);
if (status == "Completed") {
e.Appearance.BackColor = Color.IndianRed;
}
}
}
我觉得你的代码没有问题
我觉得活动的名字gridview1_RowStyle
应该是gridview_RowStyle
您可能选错了另一个 gridview
你可以在运行设计器中查看