看你是要插入到最后还是中间了,最后的话有newRow方法,中间的话我所知道的只有改写数据源了,还有进行 *** 作是对gridcontrol内的GridView进行 *** 作。
1. 将NewItemRowPosition属性设置为Top或Bottom,在这样的新行中输入数据后,会自动添加到绑定的数据源中的,如果你希望在按回车时焦点跳至下一列,只需要设置GridView的OptionNavigations->EnterMoveNextColumn为True即可。
2. 当在最后一可见列按回车,数据自动在GridView中显示出来。很多时候我们真的只想单纯的手动添加一行数据,而不想修改数据源再回来绑定。如果你有这种想法。
3. 我已经两次遇到过这样的问题,尝试手动添加,整整两天时间都没有成功。网上说的方法基本都是绑定数据源,偶尔有人说用SetRowCellValue方法,用法如下:gridView1.SetRowCellValue(0, gridView1.Columns[0], "qwe")。
4. 即在0行0列的单元格设为qwe值,看起来多好,可问题是它就是不显示,更改了无数属性都无法生效,真怀疑是不是dev公司把这个方法取消了,如果哪位使用了这个方法成功的添加了数据,那么请通知我一下,万分感谢。
5. 所以如果各位初学者看到了我这篇文章就不要花时间去用上述方式添加了(当然时间多时可以试试),就我得出的结论是gridcontrol添加数据的方法只能去修改数据源。
6. gridcontrol数据源也分两种,datetable和list,datetable想要添加一行数据可以new一个新行,分别设定各列的值,再将新行add到datetable;list则new一个新的实例,设置各字段的值,再add到list即可。详细方法网上太多,不在此赘述。
1、当行号要求从1开始,在分组变化后不从新计算,这中情况比较好解决直接在需要显示行号的控件的OnBeforePrint事件中做处理就行了,在事件中添加如下代码
((XRTableCell)sender).Text = string.Format("{0}",this.CurrentRowIndex+1)//CurrentRowIndex为报表的当前行号
这行代码也可以在客户自定义时,在设计器中放在需要显示行号的控件的Scripts属性下OnBeforePrint中。
显示的报表类似如下
group1
1
2
3
group2
4
5
group3
6
7
...
2、如果要是需要每个分组中得行号从1重新开始,需要使用如下方法(在设计期实现,如果要是在开发时实现可以定义一个两个全局变量来保存rowIndex和preGroupName)
添加Name为rowIndex、preGroupName的XRLabel控件,在需要显示序号得控件中,对OnBeforePrint添加如下代码
private void OnBeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
string groupName = Convert.ToString(GetCurrentColumnValue("Category"))
if (groupName != ((XRLabel)preGroupName).Text)
{
((XRLabel)rowIndex).Text = "1"
((XRLabel)preGroupName).Text = groupName
}
else
{
((XRLabel)rowIndex).Text=string.Format("{0}",Convert.ToInt32(((XRLabel)rowIndex).Text)+1)
}
((XRTableCell)sender).Text =((XRLabel)rowIndex).Text
}
如果需要其他的分组的话,把 string groupName = Convert.ToString(GetCurrentColumnValue("Category"))中的Category改为需要分组的显示的字段名称。
treeList.AppendNode(参数1,参数2........)//添加节点的方法 例如: TreeListNode ParentNode=treeList.AppendNode(null,null)//添加第一节点 ParentNode.SetValue(treeList.Columns[0], "显示的值")//添加第一节点显示的值欢迎分享,转载请注明来源:内存溢出
评论列表(0条)