如何动态控制DBGRID的列宽

wanglovec 2006-07-25 03:00:53
adoquer->SQL->Add("select shiffrequerror.meterid as 表编号 ,shiffrequerror.step as 档位, shiffrequerror.standvoltage as 标准电压电流, shiffrequerror.standunit as 标准电压电流单位, shiffrequerror.upperfrequ as F上, shiffrequerror.uppervoltage as F上电压电流 ,shiffrequerror.upperunit as F上电压电流单位, shiffrequerror.uppererror as F上电压电流误差, shiffrequerror.downfrequ as F下,shiffrequerror.downvoltage as F下电压电流, shiffrequerror.downunit as F下电压电流单位, shiffrequerror.downerror as F下电压电流误差, shiffrequerror.centerfrequ as F中, shiffrequerror.centervoltage as F中电压电流, shiffrequerror.centerunit as F中电压电流单位,shiffrequerror.centererror as F中电压电流误差, shiffrequerror.lowfrequ as F低");
adoquer->SQL->Add(+"from shiffrequerror ");


DBGrid1->Columns->Items[2]->Width =10000; // 这样不行,不知道为什么

大家可以看到我的字段很多, 我想控制每个列的宽度,可是控制不了该怎么样解决.

静态的方法就不要说了 !
...全文
378 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglovec 2006-07-28
  • 打赏
  • 举报
回复
问题已解决 :
  代码如下:(为别的兄弟准备 呵呵)

adoquer->SQL->Add("select shiffrequerror.meterid as 表编号 ,shiffrequerror.step as 档位, shiffrequerror.standvoltage as 标准电压电流, shiffrequerror.standunit as 标准电压电流单位, shiffrequerror.upperfrequ as F上, shiffrequerror.uppervoltage as F上电压电流 ,shiffrequerror.upperunit as F上电压电流单位, shiffrequerror.uppererror as F上电压电流误差, shiffrequerror.downfrequ as F下,shiffrequerror.downvoltage as F下电压电流, shiffrequerror.downunit as F下电压电流单位, shiffrequerror.downerror as F下电压电流误差, shiffrequerror.centerfrequ as F中, shiffrequerror.centervoltage as F中电压电流, shiffrequerror.centerunit as F中电压电流单位,shiffrequerror.centererror as F中电压电流误差, shiffrequerror.lowfrequ as F低,shiffrequerror.truename as 检验人,shiffrequerror.riqi as 日期");
adoquer->SQL->Add(+"from shiffrequerror ");

Form7->DBGrid1->Columns->Clear() ;
TColumn*NewCol;
NewCol = Form7->DBGrid1->Columns->Add();
NewCol->Width = 90;

TColumn*NewCo2;
NewCo2 = Form7->DBGrid1->Columns->Add();
NewCo2->Width = 90;


TColumn*NewCo3;
NewCo3 = Form7->DBGrid1->Columns->Add();
NewCo3->Width = 90;

TColumn*NewCo4;
NewCo4 = Form7->DBGrid1->Columns->Add();
NewCo4->Width = 90;

TColumn *NewCo5;
NewCo5 = Form7->DBGrid1->Columns->Add();
NewCo5->Width = 90;

TColumn*NewCo6;
NewCo6 = Form7->DBGrid1->Columns->Add();
NewCo6->Width = 90;

TColumn*NewCo7;
NewCo7 = Form7->DBGrid1->Columns->Add();
NewCo7->Width = 90;

TColumn*NewCo8;
NewCo8 = Form7->DBGrid1->Columns->Add();
NewCo8->Width = 90;

TColumn*NewCo9;
NewCo9 = Form7->DBGrid1->Columns->Add();
NewCo9->Width = 90;

TColumn*NewCol0;
NewCol0 = Form7->DBGrid1->Columns->Add();
NewCol0->Width = 90;

TColumn*NewCo11;
NewCo11 = Form7->DBGrid1->Columns->Add();
NewCo11->Width = 90;

TColumn*NewCo12;
NewCo12 = Form7->DBGrid1->Columns->Add();
NewCo12->Width = 90;

TColumn*NewCol3;
NewCol3 = Form7->DBGrid1->Columns->Add();
NewCol3->Width = 90;

TColumn*NewCo14;
NewCo14 = Form7->DBGrid1->Columns->Add();
NewCo14->Width = 90;

TColumn*NewCo15;
NewCo15= Form7->DBGrid1->Columns->Add();
NewCo15->Width = 90;

TColumn*NewCol6;
NewCol6 = Form7->DBGrid1->Columns->Add();
NewCol6->Width = 90;

TColumn*NewCo17;
NewCo17 = Form7->DBGrid1->Columns->Add();
NewCo17->Width = 90;

TColumn*NewCo18;
NewCo18= Form7->DBGrid1->Columns->Add();
NewCo18->Width = 90;

NewCol->FieldName = "表编号";
NewCo2->FieldName = "档位";
NewCo3->FieldName = "标准电压电流";
NewCo4->FieldName = "标准电压电流单位";
NewCo5->FieldName = "F上";
NewCo6->FieldName = "F上电压电流";
NewCo7->FieldName = "F上电压电流单位";
NewCo8->FieldName = "F上电压电流误差";
NewCo9->FieldName = " F下";
NewCol0->FieldName = "F下电压电流";
NewCo11->FieldName = "F下电压电流单位";
NewCo12->FieldName = "F下电压电流误差";
NewCol3->FieldName = "F中";
NewCo14->FieldName = "F中电压电流单位";
NewCo15->FieldName = "F中电压电流误差";
NewCol6->FieldName = "F低";
NewCo17->FieldName = "检验人";
NewCo18->FieldName = "日期";
adoquer->Open();
Form7->DataSource1->DataSet =adoquer;
Form7->DBGrid1->DataSource = Form7->DataSource1;


只是这样不知道是否会导致内存泄露什么的 ??
BlueDeepOcean 2006-07-25
  • 打赏
  • 举报
回复
头晕。
leo201592 2006-07-25
  • 打赏
  • 举报
回复
TColumn *NewCol;
NewCol = DBGrid2->Columns->Add();
NewCol->FieldName = "ID_NO";
NewCol->Width = 90;
wanglovec 2006-07-25
  • 打赏
  • 举报
回复
不行,就算改为100 也报同样错误 "list index out of bounds(1)"
Persistent8813 2006-07-25
  • 打赏
  • 举报
回复
10000有多宽啊???
Persistent8813 2006-07-25
  • 打赏
  • 举报
回复
应该可以的
wanglovec 2006-07-25
  • 打赏
  • 举报
回复
怎么没人帮个忙呀 急等呀

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧