如何得知我选中了cxgrid的哪一列

XFliangwh 2008-01-25 09:31:00
如何得知我选中了cxgrid的哪一列?

要得到选中的列的DataBinding.FieldName的值。

...全文
94 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
XFliangwh 2008-01-27
  • 打赏
  • 举报
回复
谢谢各位,家里网速慢,明天结贴
阿三 2008-01-27
  • 打赏
  • 举报
回复
取得当前选中的行的某个字段的值.
GridView.DataController.GetDisplayText(GridView.Controller.SelectedRows[0].RecordIndex,GridView.DataController.GetItemByFieldName('item_no').Index)

如果选定了多个行时可以用一个循环 这里的AView 和上面的GridView都是相同的,上面的是直接用名字,AView是动态取得当前选定的gridview(因为有时可能是主从表形式)
var
AView: TcxGridDBTableView;
i: Integer;
begin
AView := TcxGridDBTableView(cxGrid1.FocusedView);
for i:= 0 to AView.Controller.SelectedRowCount-1 do
begin
AView.DataController.GetDisplayText(AView.Controller.SelectedRows[i].RecordIndex,AView.DataController.GetItemByFieldName('item_no').Index);
end;
end;
milunhailili 2008-01-27
  • 打赏
  • 举报
回复
这个问题,只能用For语句完成.
yang_dgut 2008-01-26
  • 打赏
  • 举报
回复
ShowMessage(View.Columns[i].DataBinding.FieldName);
byteh 2008-01-26
  • 打赏
  • 举报
回复
下面两个过程供你参考

单击表头时触发的事件
procedure TfrmDocLibrary.cxViewColumnHeaderClick(Sender: TcxGridTableView;
AColumn: TcxGridColumn);
begin
ShowMessage(AColumn.DataBinding.FilterFieldName);
end;


点击单元格时触发的事件(需要双击)
procedure TfrmDocLibrary.cxViewCellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ShowMessage(ACellViewInfo.Item.DataBinding.FilterFieldName);
end;
king_xing 2008-01-25
  • 打赏
  • 举报
回复
TcxCustomGridTableItem.Focused

for i:=0 to Dataset.FieldCount-1 do
if View.Columns[i].Selected then
ShowMessage(View.Columns[i].DataBinding.FieldName);

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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