delphi dbgrid 怎么才能只选中第一列
我现在需要dbgrid第一列的参数(学号),然后传到另一个form,怎么才能控制让用户只能选中第一列,这样防止参数传错...
我现在需要dbgrid第一列的参数(学号),然后传到另一个form,怎么才能控制让用户只能选中第一列,这样防止参数传错
展开
3个回答
展开全部
其实选中哪个列都无所谓。你传递这个学号数据的时候,直接读取你的查询或者table中当前记录中的学号数据不就是了。因为你这个是 DBgrid。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加一个简单的if判断就可以了。
首先,用DBGrid1.SelectedField.FieldName取得选中区域的字段名;
其次,再用FDQuery1(或ADOQuery1).Field[0].FieldName取得第一列的字段名;
最后,判断两者是否相等,若相等则执行你所需的参数传递操作,否则不予相应。
如此一来便可实现仅能选择第一列参数,选择其他列无效的效果。
参考代码如下,可按具体需求调整。procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
if (DBGrid1.SelectedField.FieldName = FDQuery1.Fields[0].FieldName) then
begin
//相应的传递参数操作;
end;
end;
首先,用DBGrid1.SelectedField.FieldName取得选中区域的字段名;
其次,再用FDQuery1(或ADOQuery1).Field[0].FieldName取得第一列的字段名;
最后,判断两者是否相等,若相等则执行你所需的参数传递操作,否则不予相应。
如此一来便可实现仅能选择第一列参数,选择其他列无效的效果。
参考代码如下,可按具体需求调整。procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
if (DBGrid1.SelectedField.FieldName = FDQuery1.Fields[0].FieldName) then
begin
//相应的传递参数操作;
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询