AdvStringGrid 复选框、goRowSelect
var
I: Integer;
begin
for I := to do
begin
AdvStringGrid1.AddCheckBox(, I, True, True);
AdvStringGrid1.Cells[,I] := '第二列' + I.ToString;
AdvStringGrid1.Cells[,I] := '第三列' + I.ToString;
end;
end;
但是你会发现,checkbox再单元的左侧了,想居中 怎么办,经过研究发现了advstring自身的一处bug,复选框是写死在左侧的。
我修改下官方的源码,让其写死居中就可了。
procedure TForm5.Button3Click(Sender: TObject);
var
I: Integer;
begin
for I := to do
begin
AdvStringGrid1.ColWidths[] := ; //改变第一列的宽度。
AdvStringGrid1.AddCheckBox(, I, True, True);
AdvStringGrid1.Cells[,I] := '第二列' + I.ToString;
AdvStringGrid1.Cells[,I] := '第三列' + I.ToString;
end;
end;
unit Unit5; interface uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, AdvUtil, AdvObj, BaseGrid, AdvGrid,
RzGrids, Vcl.Grids, Vcl.StdCtrls, Vcl.ComCtrls, cxGraphics, cxControls,
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,
dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, cxContainer, cxEdit, cxListView, AdvListV, RzListVw; type
TForm5 = class(TForm)
AdvStringGrid1: TAdvStringGrid;
Button3: TButton;
Button1: TButton;
Button2: TButton;
Button4: TButton;
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; TPerson = record end; var
Form5: TForm5; implementation {$R *.dfm} uses qjson; procedure TForm5.Button1Click(Sender: TObject);
begin
AdvStringGrid1.CheckAll();
end; procedure TForm5.Button2Click(Sender: TObject);
begin
AdvStringGrid1.UnCheckAll();
end; procedure TForm5.Button3Click(Sender: TObject);
var
I: Integer;
begin
AdvStringGrid1.RowCount := ;//一共50行0..49
AdvStringGrid1.ColWidths[] := ;//改变第一列的宽度。
AdvStringGrid1.AddCheckBoxColumn(0);//表示这一列都需要复选框
//第0行是标题头,所以从1..49开始
for I := to do
begin
//AdvStringGrid1.AddCheckBox(0, I, False, False); //可以写在这里, 表示某个单元格 需要增加 复选框
AdvStringGrid1.Cells[,I] := '第二列' + I.ToString;
AdvStringGrid1.Cells[,I] := '第三列' + I.ToString;
end;
end; procedure TForm5.Button4Click(Sender: TObject);
var
I: Integer;
MyList: TStringList;
checkState: TCheckBoxState;
begin
MyList := TStringList.Create;
//第0行是固定的标题头,跳过所以从1开始 1..49
for I := to AdvStringGrid1.RowCount - do
begin
AdvStringGrid1.GetCheckBoxState(, I, checkState);
if checkState = cbChecked then
begin
MyList.Add(AdvStringGrid1.Cells[,I]);
end;
end;
ShowMessage(MyList.Text);
MyList.Free;
end; end.
AdvStringGrid 复选框、goRowSelect的更多相关文章
- 对jquery操作复选框
摘要:jquery操作复选框.使用更简洁易懂,思路清晰,逻辑更明了,很实用 <!DOCTYPE html> <html> <head> <meta chars ...
- MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件
类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...
- jquery复选框 选中事件 及其判断是否被选中
jquery复选框 选中事件 及其判断是否被选中 (2014-07-25 14:03:54) 转载▼ 标签: jquery复选框选中事件 分类: extjs jquery 今天做了 显示和不显示密 ...
- 复选框css
input, select, button, textarea{ -webkit-appearance:none; }该属性会导致复选框失去选择效果
- 案例1.通过Jquery来处理复选框
实现以下功能: 1:选中第一个复选框,那么下面所有的复选框都选中,去除选中第一个复选框,下面的都不选中 2:当点击全选按钮,上面足球.篮球.游泳.唱歌 全部选中 3:当点击全不选按钮,上面四个全部取消 ...
- 【Telerik】实现列表单元格中添加复选框,进行状态(是、否)判断
前台界面: 需求:实现对每条细则是否必备进行判断,必备就勾选,否则不勾选. 首先:要保证列表GridView是可编辑的(IsReadOnly=false) 表格代码 其次:单元格的数据绑定要保证是双向 ...
- 如何在select下拉列表中添加复选框?
近来在给一个公司做考试系统的项目,遇到的问题不少,但其中的几个让我对表单的使用颇为感兴趣,前端程序员都知道,下拉列表有select标签,复选框有checkbox,但是两者合在一起却少有人去研究,当时接 ...
- jquery点击复选框触发事件给input赋值
体验效果:http://keleyi.com/keleyi/phtml/jqtexiao/31.htm 代码如下: <!DOCTYPE html> <html xmlns=" ...
- js控制复选框checkbox 只能单选
我们在页面经常会用到单选框,来提供单值选在字段,但是有一个问题就是:一旦选择了就不能去除(即--只要选择了就不能再以空值提交了). 所以为了解决这个问题,用复选框限制单选是一个不错的选择 <sc ...
随机推荐
- Android实现透明的颜色效果(zz)
android Button或者ImageButton背景透明状态设置 设置Button或ImageButton的背景为透明或者半透明 半透明< Button android:backgroun ...
- win10不能被远程解决方案(开启远程桌面,防火墙仍不能被远程解决方案)
开启远程桌面,防火墙仍不能被远程解决方案 1.“Win+R”→“gpedit.msc” 2.依次展开“计算机配置”→“管理模版”→“系统”→“凭据分配”→找到“允许分配保存的凭据用于仅NTLM服务器身 ...
- TCP: time wait bucket table overflow解决方法
/var/log/messages 中出现大量的 TCP: time wait bucket table overflow 引起该现象的原因是服务器tcp的连接数太多,超出了内和定义的最大数 临时改变 ...
- Harris角点及Shi-Tomasi角点检测(转)
一.角点定义 有定义角点的几段话: 1.角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测.图像匹配.视频跟踪.三维建模和目标识别等领域中.也 ...
- 发现视口(窗口)自适应的新大陆!!vw、vh
从事前端已经1年了,一直为背景自适应铺满整个屏幕而苦苦发愁,因为要适配不同的pc显示器,所以高度不能写死,但是写(height:100%)并不能实现,愁死我了~我要不用写好的css框架实现或者自己写j ...
- Cloudstack介绍(一)
云计算的出现 基本上,云计算只是一种把 IT 资源当作服务来提供的手段.几乎所有 IT 资源都可以作为云服务来提供:应用程序.计算能力.存储容量.联网.编程工具,以至于通信服务和协作工具. 云计算最早 ...
- logstash过滤配置
input { redis { host => "127.0.0.1" port => 6380 data_type => "list" ke ...
- 一个highcharts混合图Demo
公司要我做一个highcharts的mockup,其实半个小时就能做完了,我做了将近两个小时,唉!不过还好,总算把东西学会了.勤能补拙! 把代码贴上来 布局很简单,一个div里套两个div,给好id, ...
- 实验一 《网络对抗技术》逆向及Bof技术
- 【黑客免杀攻防】读书笔记18-最终章Anti Rootkit
1.免杀技巧的遏制 1.1.PE文件 入口点不在第一个区段或在最后一个区段 入口点处代码附近只有一小段代码 入口点在正常范围之外 入口点为一个无效的值,实际入口点为TLS的入口点 区段名重复或者不属于 ...