欢迎光临
我们一直在努力

DataGrid中由某列的值设定行的颜色-.NET教程,数据库应用

建站超值云服务器,限时71元/月

今天真是的,又被界面搞的晕头转向.

为了实现.net window datagrid 的某一行可以根据该行某列的值的内容设定该行颜色的功能.

先贴一个连接,里面有datagrid很多功能扩充的解决方案windows forms datagrid

不过没有我这个需求的解决方案,最后终于还是在同事的帮助下搞定了.

由某一个单元格的值设定该单元格的颜色的实现我就不贴了,上面的连接里面有解决方案.

下面是由某列的值设定整行颜色的一个解决方案. 关键是在定制的datagridtextboxcolumn里面添加一个dataview的属性,另外重载paint() .

在使用datagridtextboxcolumn的时候,将datagrid绑定的dataview赋值给它.

public class public class datagridcoloredtextboxcolumn : datagridtextboxcolumn

{

private system.data.dataview m_binddataview;

public dataview bindingdataview

{

get

{

return m_binddataview;

}

set

{

m_binddataview = value;

}

}

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)

{

// the idea is to conditionally set the forebrush and/or backbrush

// depending upon some crireria on the cell value

// here, we color anything that begins with a letter higher than f

try

{

//从dataview中取值,"itemtype"为行的名称

string colvalue = this.bindingdataview[rownum]["itemtype"].tostring();

char val = colvalue[0];

if( val > f ) //如果首字母大于 f

{

backbrush = new solidbrush(color.blueviolet );

forebrush = new solidbrush(color.white);

}

}

catch(exception ex)

{

//empty catch

}

finally

{

// make sure the base class gets called to do the drawing with

// the possibly changed brushes

base.paint(g, bounds, source, rownum, backbrush, forebrush, aligntoright);

}

}

}

使用的例子

datagridcoloredtextboxcolumn colexceptiontype = new datagridcoloredtextboxcolumn();

colitemtype.bindingdataview = dtorderitem.defaultview; //将table的view赋值

colitemtype.headertext =“itemtype”;

colitemtype.mappingname = “itemtype“;

colitemtype.width = 90;

colitemtype.nulltext = "";

tablestyle.gridcolumnstyles.add(colitemtype);

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » DataGrid中由某列的值设定行的颜色-.NET教程,数据库应用
分享到: 更多 (0)