比如说第一条记录,字段 c 值是 red ,那这条记录的文本色就是红
第二条 字段 c 的值 是 black ,那这条记录的文本色就是黑
不能用 Repeater ,因为每条记录的前面都有 checkbox
还要用到这个checkbox请问如何实现啊!!!急!!谢谢了!!!~~!!!!!
第二条 字段 c 的值 是 black ,那这条记录的文本色就是黑
不能用 Repeater ,因为每条记录的前面都有 checkbox
还要用到这个checkbox请问如何实现啊!!!急!!谢谢了!!!~~!!!!!
If e.Item.ItemType <> ListItemType.Header _
And e.Item.ItemType <> ListItemType.Footer Then
select case datasource.Rows(e.item.itemIndex)("字段")
case "red"
e.Item.BackColor=color.red
case "black"
e.Item.BackColor=color.black
end select
End If
End Sub
public class DataGridColoredTextBoxColumn : DataGridTextBoxColumn
{
protected override void Paint(System.Drawing.Graphics g,
System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager
source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush
foreBrush, bool alignToRight)
{
try{
object o = this.GetColumnValueAtRow(source, rowNum);
if( o!= null)
{
char c = ((string)o)[0];
if( c > 'F')
{
backBrush = new LinearGradientBrush(bounds,
Color.FromArgb(255, 200, 200),
Color.FromArgb(128, 20, 20),
LinearGradientMode.BackwardDiagonal);
foreBrush = new SolidBrush(Color.White);
}
}
}
catch(Exception ex){ /* empty catch */ }
finally{
base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight);
}
}
}