亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

實現在virtualStringtree中編輯的標準步驟

2019-11-18 17:57:05
字體:
來源:轉載
供稿:網友

1.設置TVirtualStringTree屬性:

      toFullRowSelect : false;

      toMultiSelect:false;

       toExtendedFocous:true;

       toEditable:true;

       editDelay:0 //如果不調用editnode,則不會CREATE EDITOR

2.實現virtualStringtree的ONClick事件:
  功能:根據當前獲取焦點的node,判斷是否edit該node

TMMSLibraryForm版本:

PRocedure TMMSLibraryForm.DataTreeClick(Sender: TObject);
var
  Column:TColumnIndex;
  node:PVirtualNode;
begin
  if DataTree.FocusedNode=nil then  Exit;

  node:=DataTree.FocusedNode;
  Column:=DataTree.FocusedColumn;

  if Column<>3 then
     DataTree.EditNode(node,Column);

end;

TSPNumbersForm版本:

procedure TSPNumbersForm.VSTreeSPnumberClick(Sender: TObject);
var
  Column:TColumnIndex;
  node:PVirtualNode;
begin
  if VSTreeSPnumber.FocusedNode=nil then  Exit;

  node:=VSTreeSPnumber.FocusedNode;
  Column:=VSTreeSPnumber.FocusedColumn;

  VSTreeSPnumber.EditNode(node,Column);
end;


TTestNumberForm版本:

procedure TTestNumberForm.VSTreeTestNumberClick(Sender: TObject);
var
  Column:TColumnIndex;
  node:PVirtualNode;
begin
  if VSTreeTestNumber.FocusedNode=nil then  Exit;

  node:=VSTreeTestNumber.FocusedNode;
  Column:=VSTreeTestNumber.FocusedColumn;

  VSTreeTestNumber.EditNode(node,Column);   
end;

3.實現virtualStringtree的ONCreateEditor事件:
  功能:如果editnode被調用,則執行此函數;之前設置editDelay:0,是為避免在不允許改動的node上出現editor

TMMSLibraryForm版本:

procedure TMMSLibraryForm.DataTreeCreateEditor(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
begin
   EditLink:=TStringEditLink.create('',stringlist[node.index * 5+Column])
end;


TSPNumbersForm版本:

procedure TSPNumbersForm.VSTreeSPnumberCreateEditor(
  Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex;
  out EditLink: IVTEditLink);
begin
   EditLink:=TStringEditLink.create('',stringlist[node.index * 7+Column]);
end;

TTestNumberForm版本:

procedure TTestNumberForm.VSTreeTestNumberCreateEditor(
  Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex;
  out EditLink: IVTEditLink);
begin
   EditLink:=TStringEditLink.create('',stringlist[node.index * 4+Column]);
end;

4.實現virtualStringtree的ONNewText事件:
  功能:根據獲取焦點的node的column,判斷值的合法性,并同時更新數據庫和stringlist

TMMSLibraryForm版本:

procedure TMMSLibraryForm.DataTreeNewText(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; NewText: WideString);
var
  sql:string;
begin
  case Column of
    0:
    begin
      if  (StrToInt64Def(Trim(NewText),-1)=-1) then
      begin
        ShowMessage('"'+Trim(NewText)+'"'+'does not represent a valid number!');
        Exit;
      end;

      sql:='update mmslibrary set MMS_ID='+Trim(NewText)+' where MMS_ID='+Stringlist.strings[node.Index*5];

    end;

    1:
      sql:='update mmslibrary set MMS_Type="'+Trim(NewText)+'" where MMS_ID='+Stringlist.strings[node.Index*5];

    2:
      sql:='update mmslibrary set MMS_Smil="'+Trim(NewText)+'" where MMS_ID='+Stringlist.strings[node.Index*5];

    4:
      sql:='update mmslibrary set MMS_Subject="'+Trim(NewText)+'" where MMS_ID='+Stringlist.strings[node.Index*5];

  end;

  if currentdatabase.ExecuteSqlNoQurey(sql)= 1 then
     ShowMessage('Save to Database sucessfully!')
  else
     ShowMessage('Error occurs while Saving to Database!');

  Stringlist.strings[node.Index*5+Column]:=Trim(NewText);

  DataTree.RootNodeCount:=stringlist.Count div 5 ;
  DataTree.Refresh;
end;

TSPNumbersForm版本:

procedure TSPNumbersForm.VSTreeSPnumberNewText(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; NewText: WideString);
var
  sql:string;
begin
  case Column of
    0:
    begin
      if  (StrToInt64Def(Trim(NewText),-1)=-1) then
      begin
        ShowMessage('"'+Trim(NewText)+'"'+'does not represent a valid number!');
        Exit;
      end;

      sql:='update spnumbers set SP_SPID='+Trim(NewText)+' where SP_SPID='+Stringlist.strings[node.Index*7];
    end;
    1:
    sql:='update spnumbers set SP_Name="'+Trim(NewText)+'" where SP_SPID='+Stringlist.strings[node.Index*7];
    2:
    sql:='update spnumbers set SP_Nameforshort="'+Trim(NewText)+'" where SP_SPID='+Stringlist.strings[node.Index*7];
    3:
    sql:='update spnumbers set SP_Operationtype="'+Trim(NewText)+'" where SP_SPID='+Stringlist.strings[node.Index*7];
    4:
    sql:='update spnumbers set SP_Code="'+Trim(NewText)+'" where SP_SPID='+Stringlist.strings[node.Index*7];
    5:
    sql:='update spnumbers set SP_operationcode="'+Trim(NewText)+'" where SP_SPID='+Stringlist.strings[node.Index*7];
    6:
    sql:='update spnumbers set SP_operationName="'+Trim(NewText)+'" where SP_SPID='+Stringlist.strings[node.Index*7];
  end;

  if currentdatabase.ExecuteSqlNoQurey(sql)= 1 then
     ShowMessage('Save to Database sucessfully!')
  else
     ShowMessage('Error occurs while Saving to Database!');

  Stringlist.strings[node.Index*7+Column]:=Trim(NewText);

  VSTreeSPnumber.RootNodeCount:=stringlist.Count div 7 ;
  VSTreeSPnumber.Refresh;
end;

TTestNumberForm版本:

procedure TTestNumberForm.VSTreeTestNumberNewText(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; NewText: WideString);
var
  sql:string;
begin
  case Column of
    0:
    begin
      if  (StrToInt64Def(Trim(NewText),-1)=-1) then
      begin
        ShowMessage('"'+Trim(NewText)+'"'+'does not represent a valid number!');
        Exit;
      end;

      sql:='update testnumbers set TN_MSISDN='+Trim(NewText)+' where TN_MSISDN='+Stringlist.strings[node.Index*4];
    end;
    1:
    sql:='update testnumbers set TN_Imsi="'+Trim(NewText)+'" where TN_MSISDN='+Stringlist.strings[node.Index*4];
    2:
    sql:='update testnumbers set TN_Location="'+Trim(NewText)+'" where TN_MSISDN='+Stringlist.strings[node.Index*4];
    3:
    sql:='update testnumbers set TN_Descr  else
     ShowMessage('Error occurs while Saving to Database!');

  Stringlist.strings[node.Index*4+Column]:=Trim(NewText);

  VSTreeTestNumber.RootNodeCount:=stringlist.Count div 4 ;
  VSTreeTestNumber.Refresh;
end;


上一篇:監視資源管理器的文件變化

下一篇:取Run下所有值(原創)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线电影中文日韩| 国产一区二区三区在线观看视频| 国产成人亚洲综合91| 国产欧美一区二区白浆黑人| 麻豆一区二区在线观看| 欧美性极品xxxx做受| 国产精品日韩在线| 精品日本美女福利在线观看| 欧美日韩亚洲精品一区二区三区| 亚洲美女av在线| 欧美日韩成人精品| 91午夜理伦私人影院| 国内精品伊人久久| 亚洲欧洲高清在线| 亚洲精品98久久久久久中文字幕| 亚洲aⅴ日韩av电影在线观看| 97视频在线观看免费高清完整版在线观看| 色综合天天狠天天透天天伊人| 亚洲人成电影网站色xx| 亚洲专区在线视频| 中文字幕亚洲一区| 久国内精品在线| 国模gogo一区二区大胆私拍| 不卡在线观看电视剧完整版| 性色av一区二区三区红粉影视| 久久久久久久国产精品| 国产精品igao视频| 久久久久久美女| 亚洲国产精品嫩草影院久久| 亚洲国产精品成人va在线观看| 日韩一区二区久久久| 欧美色欧美亚洲高清在线视频| 欧美大片免费观看在线观看网站推荐| 久久99国产综合精品女同| 国产精品一区二区久久久久| 97超碰蝌蚪网人人做人人爽| 18一19gay欧美视频网站| 欧美大片在线免费观看| 国产精品视频免费在线| 午夜精品久久17c| 精品一区电影国产| 亚洲国产欧美在线成人app| 亚洲人成网站色ww在线| 欧美日韩国产一区中文午夜| 一区二区亚洲欧洲国产日韩| 国产欧美最新羞羞视频在线观看| 国产精品久久久久久久久久小说| 欧美极品少妇xxxxⅹ裸体艺术| 91久久久久久久久久久久久| 中文在线资源观看视频网站免费不卡| 亚洲精品av在线播放| 亚洲第一精品夜夜躁人人躁| 97精品视频在线播放| 国产精品久久久久久久av大片| 成人妇女淫片aaaa视频| 97国产一区二区精品久久呦| 高清在线视频日韩欧美| 久久精品91久久久久久再现| 97久久国产精品| 国产成人精品电影久久久| 日韩欧美精品在线观看| 久久这里有精品视频| 中文字幕欧美日韩在线| 91在线视频一区| 日韩精品视频免费在线观看| 成人久久精品视频| 欧美性xxxx极品高清hd直播| 91久久嫩草影院一区二区| 欧美国产精品日韩| 国产丝袜精品视频| 欧美精品videos另类日本| 亚洲欧美制服综合另类| 国产精品亚洲аv天堂网| 日韩亚洲一区二区| 26uuu另类亚洲欧美日本一| 久久久国产成人精品| 久久免费视频网站| 成人信息集中地欧美| 久久国产视频网站| 亚洲在线免费视频| 欧美网站在线观看| 亚洲国产精久久久久久| 久久久久久久久久av| 欧美极品在线视频| 中文字幕亚洲欧美在线| 日韩激情第一页| 成人有码在线播放| 在线成人激情视频| 欧美性做爰毛片| 欧美黑人狂野猛交老妇| 国产又爽又黄的激情精品视频| 不卡在线观看电视剧完整版| 国产这里只有精品| 黄色成人在线播放| 97精品在线视频| 成人免费观看49www在线观看| 97国产在线视频| 日韩影视在线观看| 国产成人拍精品视频午夜网站| 国产精品99久久久久久久久| 国产精品色婷婷视频| 免费不卡在线观看av| 国产一区二区丝袜高跟鞋图片| www.日韩不卡电影av| 欧美在线观看一区二区三区| 欧美视频免费在线观看| 日韩毛片在线观看| 欧美精品在线观看91| 久久精品成人动漫| 国产精品户外野外| 成人性生交大片免费看小说| 久久视频在线看| 精品国产自在精品国产浪潮| 日韩一区二区精品视频| 国产一区二区三区精品久久久| 亚洲黄色av网站| 日韩电影中文 亚洲精品乱码| 在线激情影院一区| 日韩精品在线观| 国产成人精品久久久| 国产精品久久中文| 日本国产精品视频| 久久精品99久久久久久久久| 精品国产精品三级精品av网址| 日韩中文字幕视频在线观看| 日韩一级裸体免费视频| 不卡av电影在线观看| 亚洲一区二区三区在线免费观看| 久久九九亚洲综合| 国产91露脸中文字幕在线| 国产香蕉97碰碰久久人人| 亚洲视频免费一区| 亚洲乱码一区av黑人高潮| 亚洲图片在区色| 久久国产精品久久国产精品| 91国产视频在线| 日韩精品福利在线| 精品久久久久久久久国产字幕| 国产精品久久视频| 91国产美女视频| 国产精品美女久久久免费| 欧美性生交xxxxx久久久| 欧美激情一级二级| 国产精品一区二区三区免费视频| 久久久999精品免费| 91美女片黄在线观看游戏| 亚洲欧美国产视频| 国产欧美日韩视频| 国产日韩视频在线观看| 久久久久久综合网天天| 91爱爱小视频k| 日韩视频在线免费| 国产成人精品在线视频| 精品香蕉一区二区三区| 亚洲精品欧美日韩专区| 欧美在线视频网站| 97视频com| 久久精品99久久久久久久久| 国产精品美女主播在线观看纯欲| 亚洲国产中文字幕久久网| 久久99亚洲精品| 久久久91精品| 91在线中文字幕| 国内精品视频一区|