dev 控件 gridcontrol 如何添加一行数据
看你是要插入到最后还是中间了,最后的话有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即可。详细方法网上太多,不在此赘述。
this.gridView1.AddNewRow();
然后怎么添加数据到这行呢
public void SetRowCellValue(int rowHandle, GridColumn column, object _value);
public void SetRowCellValue(int rowHandle, string fieldName, object _value);
如果是插入到最后我还是觉得取出数据源,在数据源上加一行重新绑定比较方便
思路:
1: 数据增加一行 重新绑定
DataTable dt = new DataTable(); //---全局数据源
在窗体中load时 设定数据源绑定
点击按钮增加一条数据代码
DataRow dr = dt.NewRow();
dr["ID"] = 2;
dr["Names"] = "程序直接对数据源操作";
dt.Rows.Add(dr)
2:直接增加一行
此方式不可与1相混合使用,只能适合不是数据源绑定的方式 代码如下
int index = dgv.Rows.Add();
DataGridViewRow dgvr = dgv.Rows[index];
dgvr.Cells[0].Value = 3;
dgvr.Cells[1].Value = "直接添加一行";
你可以试试,不知道是否是你想要的