delphi 10.3.1中ValueListEditor控件
本帖最后由 冥界3大法王 于 2019-8-5 11:33 编辑我为什么不能选择第一列的数据项?
我无法得到 第一列的 选中项呢?不知该如何设置 本帖最后由 sail2000 于 2019-8-5 13:47 编辑
第一列是字段名,第二列才是属性值,
你要改字段名?那么这个不合适。
你要改属性值,激活所要的属性值即可。
r如果你想要的是整行高亮选择:设置 :
ValueListEditor1.Options :=ValueListEditor1.Options + ; sail2000 发表于 2019-8-5 13:43
第一列是字段名,第二列才是属性值,
你要改字段名?那么这个不合适。
你要改属性值,激活所要的属性值即 ...
上面的做到了,如何得到选中的 表格数值呢?
试了下面的代码 都不满意
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids,
Vcl.ValEdit, Vcl.StdCtrls;
type
TForm1 = class(TForm)
ValueListEditor2: TValueListEditor;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure ValueListEditor2Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to ValueListEditor2.RowCount - 1 do
ShowMessage(ValueListEditor2.Keys);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
txt: string;
begin
txt := 'key1=value1' + #13 + 'key2=value2' + #13 + 'key3=value3';
ValueListEditor2.Strings.Text := txt;
showmessage(ValueListEditor2.Strings.Text);
end;
procedure TForm1.ValueListEditor2Click(Sender: TObject);
var
str: string;
begin
//str := ValueListEditor2.keys;
//ShowMessage(str);
ShowMessage(ValueListEditor2.Keys);
ShowMessage(ValueListEditor2.Cells);
ShowMessage(ValueListEditor2.Strings.Text);
end;
end.
var
i: integer;
begin
i := ValueListEditor1.Row;
ShowMessage('这是 Key:' + ValueListEditor1.Keys + #10#13 + '这是 Value:' +
ValueListEditor1.Values]); sail2000 发表于 2019-8-5 13:55
var
i: integer;
begin
@sail2000
好像有点bug哟
我把工程和生成的文件 都传上来了,再帮助我修改下,谢谢。 为啥 弹出的结果是 B1 B2 这样的两个?
我需要的效果是 点击B1 弹出B1。。。B2弹B2
还是这个组件都必须是一一对应的一组数据? 你用 click必然 这样啊,那不是 有 选择 事件吗,当前焦点事件 也是可以啊。 procedure TForm1.ValueListEditor2Click(Sender: TObject);
var
I,C: integer;
begin
i := ValueListEditor2.Row;
C := ValueListEditor2.Col;
if C = 0 then
ShowMessage(ValueListEditor2.Keys)
else
if C = 1 then
ShowMessage(ValueListEditor2.Values]);
end; sail2000 发表于 2019-8-6 12:59
procedure TForm1.ValueListEditor2Click(Sender: TObject);
var
I,C: integ ...
procedure TForm1.ValueListEditor2Click(Sender: TObject);
var
i: integer;
clip: TClipboard;
strs: TStrings;
begin
i := ValueListEditor2.Row;
strs := TStringList.Create;
strs.CommaText := ValueListEditor2.Keys;
clip := TClipboard.Create;
clip.AsText := strs + ' ' + strs;
ShowMessage(strs + #13#10#13#10 + strs + ' ' + strs + ' 已经复制到剪贴板!');
////////////////////////////////////////////////////////////////////////////////
clip.AsText := ValueListEditor2.Values];
ShowMessage(ValueListEditor2.Values] + #13#10#13#10 + ' 已经复制到剪贴板!');
end;
这个控件,只能显示2列;所以暂时鼓捣成了这个样子。
感觉注解字符串,用正则来提取更方便些
本帖最后由 冥界3大法王 于 2019-8-6 18:09 编辑
本楼,重了,作废。
页:
[1]