无论如何,确定当前在多选TStringGrid
或TCustomGrid
中选择了哪些行。一个属性是理想的。
我知道在gdSelected
事件中设置了DrawCell
属性,
procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);
我可以检查AState
gdSelected
,并在某个地方跟踪这个,但这似乎很笨拙。
答案 0 :(得分:3)
我猜你在谈论范围选择字符串网格,即goRangeSelect
中Options
的字符串网格。然后,您可以使用Selection
属性。这(基本上)是TRect
,您可以在其中找到范围选择中的左上角和右下角单元格。
答案 1 :(得分:1)
哦,我使用StringGrid.Selection.BottomRight.Y
来确定行,StringGrid.Selection.BottomRight.X
用于列。
答案 2 :(得分:0)
使用字符串网格选择属性$url = "http://serverA.co.za/getCookie.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// get headers too with this line
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
// get cookie
// multi-cookie variant contributed by @Combuster in comments
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
$cookies = array();
foreach($matches[1] as $item) {
parse_str($item, $cookie);
$cookies = array_merge($cookies, $cookie);
}
var_dump($matches);
将为您提供最上面的选定行,StringGrid.Selection.top
将为您提供选择停止的最终选定行。
示例:
如果您在字符串网格中从第3行到第6行中选择,那么StringGrid.Selection.bottom
将为您提供3作为输出值StringGrid.Selection.top
将为您提供6作为输出值,并且您可以获得剩余值通过从上到下迭代。