c#中如何根据datagrid中绑定的不同数据,使datagrid显示不同颜色 c#中如何根据datagrid中绑定的不同数据,使datagrid显示不同颜色 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 每绑定一次就重新设置一次TableStyles // Provides the format for the given cell. private void SetCellFormat(object sender, DataGridFormatCellEventArgs e) { //conditionally set properties in e depending upon e.Row and e.Col bool discontinued = (bool) ((e.Column != 0) ? this.dataGrid1[e.Row, 0] : e.CurrentCellValue); //check is discontinued if(e.Column > 0 && (bool)(this.dataGrid1[e.Row, 0]))//discontinued) { e.BackBrush = this.disabledBackBrush; e.ForeBrush = this.disabledTextBrush; } else if(e.Column > 0 && e.Row == this.dataGrid1.CurrentRowIndex)//discontinued) { e.BackBrush = this.currentRowBackBrush; e.TextFont = this.currentRowFont; } else if(NeedToReorder(e.Row)) { e.TextFont = this.alertFont; e.ForeBrush = this.alertTextBrush; e.BackBrush = this.alertBackBrush; } // Given a row, computes whether product needs to be reordered. //是否要突现(特征)行 private bool NeedToReorder(int row) { int unitsInStock = (Int16) this.dataGrid1[row, this.unitsInStockCol]; int unitsOnOrder = (Int16) this.dataGrid1[row, this.unitsOnOrderCol]; int reorderLevel = (Int16) this.dataGrid1[row, this.reorderLevelCol]; return (reorderLevel > (unitsInStock + unitsOnOrder)); } 你是否要不同的数据,DataGrid的行显示不同的背景色?可以利用ItemDataBound事件。if(e.Item.ItemType == ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem){ if(你的条件) e.Item.ForeColor=Color.Red;} 楼上说的是System.Web.UI.WebControls下的DataGrid控件 for(int i=0;i<DataGrid1.Items.Count;i++){ if(DataGrid1.Items[i].Cells[6].Text=="1") { System.Web.UI.WebControls.Style style=new System.Web.UI.WebControls.Style(); style.CssClass="row01"; DataGrid1.Items[i].MergeStyle(style); } else if(DataGrid1.Items[i].Cells[6].Text=="0") { System.Web.UI.WebControls.Style style=new System.Web.UI.WebControls.Style(); style.BackColor=System.Drawing.ColorTranslator.FromHtml("#ffcc99"); DataGrid1.Items[i].MergeStyle(style); }} C# 怎么通TCP/IP访问串口设备呢 【升星+散分】SQL SERVER选择字段时,前面加表名与不加表名的效率问题 VS2003开发的智能设备程序如何美化 项目中的用户控件怎么添加到工具箱 ADO.NET 的两个问题,50分求解 关于鼠标右键,帮忙看一下怎么办?谢谢 简单问题,OleDbDataReader实例中返回的只有一条记录,如何读取???????? ???奇了怪了,难不成是微软IE的BUG??? 这个.cs???它的显示是空白的! c# 中如何用 关于ocx的问题。 有没有什么软件可以限制不可以发信息给QQ的好友,或者是接收不到好友的信息?
private void SetCellFormat(object sender, DataGridFormatCellEventArgs e)
{
//conditionally set properties in e depending upon e.Row and e.Col
bool discontinued = (bool) ((e.Column != 0) ? this.dataGrid1[e.Row, 0] : e.CurrentCellValue);
//check is discontinued
if(e.Column > 0 && (bool)(this.dataGrid1[e.Row, 0]))//discontinued)
{
e.BackBrush = this.disabledBackBrush;
e.ForeBrush = this.disabledTextBrush;
}
else if(e.Column > 0 && e.Row == this.dataGrid1.CurrentRowIndex)//discontinued)
{
e.BackBrush = this.currentRowBackBrush;
e.TextFont = this.currentRowFont;
}
else if(NeedToReorder(e.Row))
{
e.TextFont = this.alertFont;
e.ForeBrush = this.alertTextBrush;
e.BackBrush = this.alertBackBrush;
}
// Given a row, computes whether product needs to be reordered.
//是否要突现(特征)行
private bool NeedToReorder(int row)
{
int unitsInStock = (Int16) this.dataGrid1[row, this.unitsInStockCol];
int unitsOnOrder = (Int16) this.dataGrid1[row, this.unitsOnOrderCol];
int reorderLevel = (Int16) this.dataGrid1[row, this.reorderLevelCol]; return (reorderLevel > (unitsInStock + unitsOnOrder));
}
可以利用ItemDataBound事件。
if(e.Item.ItemType == ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem)
{
if(你的条件) e.Item.ForeColor=Color.Red;
}
{
if(DataGrid1.Items[i].Cells[6].Text=="1")
{
System.Web.UI.WebControls.Style style=new System.Web.UI.WebControls.Style();
style.CssClass="row01";
DataGrid1.Items[i].MergeStyle(style);
}
else if(DataGrid1.Items[i].Cells[6].Text=="0")
{
System.Web.UI.WebControls.Style style=new System.Web.UI.WebControls.Style();
style.BackColor=System.Drawing.ColorTranslator.FromHtml("#ffcc99");
DataGrid1.Items[i].MergeStyle(style);
}
}