cxGrid使用记录[zt]

本文详细介绍了在Delphi中使用CXGrid时如何处理双击事件以获取所点击行的内容,以及如何设置多选功能进行批量操作。通过调整TableView对象的OptionsSelection属性,可以实现对单元格的选择或禁用选择,同时提供了多选记录和修改记录的示例代码。

cxgrid 双击 获取所点击行的内容

创建view的 optionsselection->cellselect 设置为false ,才能触发双击事件

案例:

procedure TForm_Child_Archive.cxGrid1DBTableView1CellDblClick(
  Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo;
  AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin3

      ////取得所双击列的列表头名称  ACellViewInfo.Item.Index 为所双击列
      //ShowMessage(cxGrid1DBTableView1.Columns[ACellViewInfo.Item.Index].Caption);

       with  cxGrid1DBTableView1.DataController do
       begin
           //取某行某列的值 ,取第5列,参数4
          ShowMessage(Values[FocusedRecordIndex,4]);
      end;

end;

其他:

如果不需要对单元格进行选择可:设置CXGrid的TableView对象的OptionsSelection->CellSelect 为False;
如果需要对单元格进行选择可:设置CXGrid的TableView对象的OptionsData中的全部属性 为False;  


cxgrid的多选记录 修改记录问题

cxgrid多选  , 有可能是连续的,有可能是隔了其他记录的   
cxgrid 把 cxGrid1DBTableView1--》 optionselection--》multiselect设为true就可以了  

GridView.DataController.DataModeController.GridMode=True;

修改选中的记录中一个字段  :

sample1:

procedure   TForm1.btnSelectValueClick(Sender:   TObject);  
  var  
      I,   J:Integer;  
  begin  
      for   I:=0   to   tvcxgd1DBTableView1.DataController.GetSelectedCount-1   do   begin  
          J:=tvcxgd1DBTableView1.DataController.GetSelectedRowIndex(I);  
          ShowMessage(VarToStr(tvcxgd1DBTableView1.DataController.GetValue(J,0)));  
      end;  
  end; sample2:

Var  
      i:integer;      
  begin  
      For   i:=0   To   cxGrid1DBTableView1.Controller.SelectedROwCount-1   Do  
      begin  
          cxGrid1dbtableview1.Controller.FocusedRow:=cxGrid1dbtableview1.Controller.SelectedRows[i];  
          Adoquery1.Edit;  
          Adoquery1.FieldByName('DeptName').AsString:=Edit1.Text  
          Adoquery1.Post;  
      end;  
  end;

摘自:http://topic.csdn.net/t/20041025/08/3487114.html

摘自:http://topic.csdn.net/t/20060113/09/4514294.html


进行cxgrid多行记录删除

procedure TForm1.Button1Click(Sender: TObject);

var

i : integer;

sID : string;

adotmp : TADOQuery;

begin

//Values[0] 为字段a

//Values[1] 为标识字段

//cxgrdItemList 为cxGrid

sID := '0';

for i := 0 to cxgrdItemList.DataController.Controller.SelectedRecordCount - 1 do

begin

    if cxgrdItemList.DataController.Controller.SelectedRecords[i].Values[0] = True then

      continue;

    sID := sID + ', ' + cxgrdItemList.DataController.Controller.SelectedRecords[i].Values[1];

end;

adotmp := TADOQuery.Create(nil);

with adotmp do

try

    {自己写

    Connection := ;

    }

    sql.Text := 'delete from yTbName where ID in (' + sID + ')';

    ExecSQL;

finally

    free;

    //刷新一下cxgrid的dataset;

end;

end;

摘自:http://hi.baidu.com/diy_era/blog/item/73b5ccdd6896dd385882dd12.html

转载于:https://www.cnblogs.com/railgunman/archive/2011/01/15/1936410.html

内容概要:本文提出了一种基于改进扩散模型的高海拔地区新能源高波动出力场景生成方法,并提供了完整的Python代码实现。该方法针对高海拔地区风能、光伏等新能源出力波动剧烈、不确定性高的特点,通过优化扩散模型的结构与训练策略,有效捕捉历史数据的概率分布特征与时序相关性,从而生成高质量、多样化的出力场景。文中详细阐述了模型的数学推导、网络架构设计、损失函数优化及采样算法改进,并通过实验证明其在拟合精度、场景多样性与稳定性方面优于传统生成模型,为电力系统在高比例新能源接入下的规划、调度与风险评估提供了可靠的场景输入支持。; 适合人群:具备一定Python编程能力和机器学习基础,从事新能源发电预测、电力系统分析、智能优化、场景生成等方向研究的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①用于高海拔地区风电、光伏出力的不确定性建模与多场景生成;②支撑含高渗透率新能源的电力系统随机优化调度、鲁棒决策与风险评估;③为相关学术研究、论文复现与算法改进提供可运行的技术方案与代码基础; 阅读建议:建议读者结合所提供的完整资源(代码、数据集、说明文档)进行实践操作,重点关注扩散模型的前向加噪与反向去噪过程的设计细节,以及如何将其适配于新能源时序数据的生成任务,通过参数调优与对比实验深入理解模型的生成机制与性能边界。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值