Delphi 的StringGrid 如果在添加数据时增加行。请大家指教。
解决方案 »
- ado connection打开报用户密码错
- DELPHI下点击选择DBGrid显示的1条数据后,如何实现将数据显示在EDIT?
- 怎么动态的显示菜单,类似DLl一样,从Dll读取菜单内容
- 早上好!郁闷啊,我想问问大家,为什么我的程序(下载4000个文件,每个文件2M)运行会死机?
- 关于事务处理,请看看这段代码是否正确。100分
- 请大家指点一下,刚开始入门delphi用那本书比较好。在线等!多谢了
- j++buileder做的运行文件不是EXE的,
- employee.gdb的密码是什么
- 各位大哥,关于abc601控件包的问题?
- 哪里有比csdn好的Delphi论坛?????
- 求助ODBC Microsoft Access Driver 参数不足,期待是3 这个问题如何解决
- delphi2009 unicode问题
如果是中间插入方式的,就是先增一,然后把原来行的内容都移到下面一行去.
========================================================
void __fastcall Tfm_ly_bill::InsertRow(TStringGrid *tmp_sg,int row,int type) //type=0为ROW的前一行 =1为ROW的后一行
{
// if(row>=tmp_sg->RowCount) row=tmp_sg->RowCount-1;
tmp_sg->RowCount++; //行增一
int i,j;
for(i=tmp_sg->RowCount;i>row+type; i--) //数据依次后移
{
for(j=0; j<tmp_sg->ColCount; j++)
tmp_sg->Cells[j][i]=tmp_sg->Cells[j][i-1];
}
for(j=1;j<tmp_sg->ColCount; j++) //清除插入一行的数据
{
tmp_sg->Cells[0][i]="*";
tmp_sg->Cells[j][i]="";
tmp_sg->Row=i;
tmp_sg->Col=5;
}
}