关于DevExpress的GridView.VisibleIndex的赋值问题
本来想用VisibleIndex来控制gridview中的列的顺序(注意不是每列的排序),通过后台读取Xml文件里配置好的列的顺序来动态的设置列的顺序,但是跟踪时发现,x...
本来想用VisibleIndex来控制gridview中的列的顺序(注意不是每列的排序),通过后台读取Xml文件里配置好的列的顺序来动态的设置列的顺序,但是跟踪时发现,xml文件中的列的顺序号没有问题,读取后的值也没有问题,但是在给VisibleIndex属性赋值时gridView1.Columns[i].VisibleIndex = Convert.ToInt32(hash[gridView1.Columns[i].FieldName]);就出现了问题(比如Convert.ToInt32(hash[gridView1.Columns[i].FieldName])的值是3,赋值后gridView1.Columns[i].VisibleIndex 是2)。
总是会出现这种少1的情况。这是怎么回事?(跟过源码,里面处理的的确有-1的地方,但是没懂它的逻辑)求解释。 展开
总是会出现这种少1的情况。这是怎么回事?(跟过源码,里面处理的的确有-1的地方,但是没懂它的逻辑)求解释。 展开
2个回答
展开全部
在DevExpress GridControl中,GridView中
如果VisibleIndex=-1,则这列将不会显示(不可见);
如果VisibleIndex>=0,则按照VisibleIndex从小到大,依次显示各个列。
在用xml设置各个列的显示位置时,将各个列的VisibleIndex都设置为-1,然后再用xml读取的值设置相应的列:
// 先将所有列的 VisiableIndex 置为 -1
foreach(var column in gridView1.Columuns)
{
column.VisiableIndex = -1;
}
// 然后再按xml,设置各个列的显示次序
……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询