2003 winform 里面的datagrid,如何设置其中的某些列无法获得焦点呢?
2003 winform 里面的datagrid,如何设置其中的某些列无法获得焦点呢?
(因为客户想在dg里面输入,但是又只想在能输入的地方输入)
我使用了3个办法:
1、设置列的ENABLE属性
dataGridTextBoxColumn1.TextBox.Enable = false;
结果—— 没用,虽然不可用了该列,但是还是能获取到焦点。
2、设置了tabstop属性
dataGridTextBoxColumn1.TextBox.TabStop= false;
结果—— 同上……
3、为不想获得焦点的列添加事件,设想着触发的时候把焦点给能输入的单元格。
private void TextBox_GotFocus(object sender, System.EventArgs e)
{
int iRownr = this.dgLeft.CurrentCell.RowNumber;
int iColnr = this.dgLeft.CurrentCell.ColumnNumber;
if(iColnr == 0)
{
iColnr = 1;
}
else if(iColnr == 2 || iColnr == 3)
{
iColnr = 1;
iRownr += 1;
}
((DataGridTextBox)dgLeft[iRownr, iColnr]).Focus();
}
可是最后转换的时候老报错!!我试过了TextBox,报错;试过了DataGridCell,没有Focus()方法。。。
不知道大家还有没有其他方法来实现啊!!!!!!!!!!!