我使用了ListView1,有一个小问题. 我建立了4个列,怎么得到指定列下的所选的那个段的Caption?比如:我要得到所选行的第三列下的值,怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ListView1.Selected.SubItems.Strings[1]; 如何控制用鼠标点哪一列, 就以那一列的某种sortType格式排列 var updownoption:boolean;ColumnToSort :longint;procedure TForm1.lv1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);var ix: Integer;begincase updownoption of file://1 true: begin//3 if ColumnToSort = 0 then Compare := CompareText(Item1.Caption,Item2.Caption) else begin//4 ix := ColumnToSort - 1; Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]); end;//4 end;//3 false: begin//2 if ColumnToSort = 0 then Compare := CompareText(Item2.Caption,Item1.Caption) else begin//4 ix := ColumnToSort - 1; Compare := CompareText(Item2.SubItems[ix],Item1.SubItems[ix]); end;//4 end; file://2end ; file://1end;procedure TForm1.lv1ColumnClick(Sender: TObject; Column: TListColumn);beginupdownoption:=not updownoption;ColumnToSort := Column.Index;(Sender as TCustomListView).AlphaSort;end; private sub listview_columnclick(byval columnheader as columnheader) listview.sortorder=0 '设为升序 listview.sortkey= columnheader.index -1 ' 设置点击的column为排序的依据 listview.sorted=true '开始排序 end sub 看不明白... 又是delphi 又是vb的不过好像有点头绪了, 是不是要另一个listview来辅助?把要排序的列,在另一个listview中以caption显示,而不是subitems , 排好后再放回来? ListView1.items.Item[k].Strings[2];注:K 是你所选的行,2是你说要的第三列;0,代表:第一列; case updownoption of file://1end; file://2end ; file://1-------file: 是什么意思? 好像编译不过呢? 用循环如何实现?for i ....... dobegin for j ....... do begin . . . ListView1.Selected.Caption; //第一列ListView1.Selected.SubItems.Strings[0]; //第二列ListView1.Selected.SubItems.Strings[1]; //第三列ListView1.Selected.SubItems.Strings[2]; //第四列 如何对数据库中的text,image这类字段中写入数据啊? 加载图片到Canvas后尺寸打印比例问题 怎样打开.pas文件而不关联对应的.dfm文件啊,120分,高手请进 请Delphi高手帮忙:数组元素与TObject的转换。。 请教高手一个快捷键的问题!!!!! 如何编程实现按[F2]键就使listview的caption进入编辑状态? ie6图片工具拦的原理 急需delphi 5.0!请各位帮忙!哪有下载,告诉俺个链接就行!多谢了! 键盘的码意思。 关于类的构建? DELPHI的学习网站! 劳驾大虾们看看:关于TServerSocket和TClientSocket的问题
ColumnToSort :longint;procedure TForm1.lv1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
case updownoption of file://1
true:
begin//3
if ColumnToSort = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else begin//4
ix := ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end;//4
end;//3
false:
begin//2
if ColumnToSort = 0 then
Compare := CompareText(Item2.Caption,Item1.Caption)
else begin//4
ix := ColumnToSort - 1;
Compare := CompareText(Item2.SubItems[ix],Item1.SubItems[ix]);
end;//4
end; file://2
end ; file://1
end;procedure TForm1.lv1ColumnClick(Sender: TObject; Column: TListColumn);
begin
updownoption:=not updownoption;
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
end; private sub listview_columnclick(byval columnheader as columnheader) listview.sortorder=0 '设为升序 listview.sortkey= columnheader.index -1 ' 设置点击的column为排序的依据 listview.sorted=true '开始排序 end sub
不过好像有点头绪了, 是不是要另一个listview来辅助?
把要排序的列,在另一个listview中以caption显示,而不是subitems , 排好后再放回来?
end; file://2
end ; file://1-------file: 是什么意思? 好像编译不过呢?
for i ....... do
begin
for j ....... do
begin
.
.
.
ListView1.Selected.SubItems.Strings[0]; //第二列
ListView1.Selected.SubItems.Strings[1]; //第三列
ListView1.Selected.SubItems.Strings[2]; //第四列