c# datagridview 编辑模式出错
我用Access新建了一个表,主键是自动增量,还有一列是编辑项(暂定为单位列吧)
然后在C#中新建一个窗口,窗口上新建一个datagridview。用oledb把数据自动显示在datagridview中。
dataGridView的默认编辑模式是双击或者F2编辑cell单元格。
我想让用户单击cell即可编辑,于是编程 dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
同时在dataGridView的 CellEnter 编程让单元格收到输入焦点 进入编辑模式
在CellLeave事件中编程让单元格失去输入焦点 退出编辑模式。
问题出来了。
如果用dataGridView的默认编辑模式(双击或者F2编辑cell单元格计入编辑模式),程序的运行没有问题,
如果改为上面我写的代码,程序出现错误,错误为:索引大小超出范围。
具体代码如下:
private void DepartManageForm_Load(object sender, EventArgs e)
{
OleDbConnection oleConn = new OleDbConnection(connectionString)
DataTable dt = null;
OleDbDataAdapter oda = null;
string strSql = "select * from depart";
oda = new OleDbDataAdapter(strSql, oleConn);
dt = new DataTable("depart1");
oda.Fill(dt);
dataGridView1.DataSource = dt; -------------------------程序运行到这一句时出错
//dataGridView1.Columns["incnum"].HeaderText = "序号";
dataGridView1.Columns["depart"].HeaderText = "单位名称";
dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
}
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.BeginEdit(true);
}
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
求高手帮忙解决一下
然后在C#中新建一个窗口,窗口上新建一个datagridview。用oledb把数据自动显示在datagridview中。
dataGridView的默认编辑模式是双击或者F2编辑cell单元格。
我想让用户单击cell即可编辑,于是编程 dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
同时在dataGridView的 CellEnter 编程让单元格收到输入焦点 进入编辑模式
在CellLeave事件中编程让单元格失去输入焦点 退出编辑模式。
问题出来了。
如果用dataGridView的默认编辑模式(双击或者F2编辑cell单元格计入编辑模式),程序的运行没有问题,
如果改为上面我写的代码,程序出现错误,错误为:索引大小超出范围。
具体代码如下:
private void DepartManageForm_Load(object sender, EventArgs e)
{
OleDbConnection oleConn = new OleDbConnection(connectionString)
DataTable dt = null;
OleDbDataAdapter oda = null;
string strSql = "select * from depart";
oda = new OleDbDataAdapter(strSql, oleConn);
dt = new DataTable("depart1");
oda.Fill(dt);
dataGridView1.DataSource = dt; -------------------------程序运行到这一句时出错
//dataGridView1.Columns["incnum"].HeaderText = "序号";
dataGridView1.Columns["depart"].HeaderText = "单位名称";
dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
}
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.BeginEdit(true);
}
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
求高手帮忙解决一下
...全文
相关推荐
C# datagridview 添加 删除 编辑
在C#编程中,DataGridView控件是Windows Forms应用程序中常用的一种数据展示和操作工具,它允许用户以表格形式查看和编辑数据。
ZCGrid-C#继承DataGridView仿Excel表格,并增强编辑功能
标题"ZCGrid-C#继承DataGridView仿Excel表格,并增强编辑功能"指向的是一种自定义解决方案,它扩展了标准的DataGridView控件,以提供更接近Excel的用户体验。
C#访问SQL显示到DataGridView,同时根据DataGridView实时更新数据库
接下来,我们需要处理用户在DataGridView中所做的更改。当用户编辑、添加或删除行时,可以捕获DataGridView的事件,如CellEndEdit、RowValidated等。
C# Winform使用DataGridView的VirtualMode虚拟模式
该项目演示了在C# WinForm中使用DataGridView的VirtualMode模式高效显示大量数据的方法。通过CellValueNeeded事件按需加载百万级数据行,显著降低内存占用并提升性
C#处理datagridview虚拟模式的方法
在C#中,DataGridView控件是用于显示和编辑表格数据的常用组件。在处理大量数据时,为了提高性能,可以采用虚拟模式(Virtual Mode)。


