How to search for cells in data frame with character *? - character

I am trying to find rows in which any cell contains the character * (not wild character). I want to drop drop the rows with the specific character * in any cell in that row.
What is the best way to implement it.

Related

Ag-Grid: lock a column's position to the last column

I am wondering if there is a way to effectively lock a column in Ag-Grid so that the column is always the very last column no matter what.
Background
What I am ultimately looking for is to avoid the blank space after the last column if the grid size is wider than all column width combined. This is to give the grid a consistent, professional look especially considering even/odd rows are rendered usually in different color. I would prefer the blank space also has that alternating background color.
Given there seems to be no grid property that forces the grid to render the blank space at the end as a pseudo column, I am therefore considering to add a pseudo column manually in such a way that:
the pseudo column has no header
the pseudo column has no data
the pseudo column is not sortable (achieved via sortable: false)
the pseudo column is not manually resizable (achieved via resizable: false)
the pseudo column is the only column which has suppressSizeToFit: false
lock the pseudo column to always be the last column so that user cannot drag a column to the right side of it
I've found a way to achieve everything apart from the last item in the above list. I know I can suppressMovable: true but that only ensures the column itself is not draggable, it does not prevent user from dragging a column to the right side of it.
Effectively, I am looking for something similar to lockPosition but instead of locking the column to the front I want to lock the column to the end.
Keep an eye on currently open AG-3326 issue in ag-grid backlog https://www.ag-grid.com/ag-grid-pipeline/
"Allow locking ( lockPosition ) a column to always be either the first or last columns (currently only the first column is supported)"
What I am ultimately looking for is to avoid the blank space after the last column if the grid size is wider than all column width combined
You could use sizeColumnsToFit() API for columns to adjust in size to fit the grid horizontally. Using this API, there won't be any blank space after the last column, but make sure you have not specified the width for at least one column. This is the column that will expand/shrink to fit the size of the grid.
Call sizeColumnsToFit() after the gridReady event has fired.
Here is an effective workaround to lock the right-most column until AG-3326 is implemented.
onColumnMoved: params => {
const columnCount = params.columnApi.getAllColumns().filter(c => c.isVisible()).length;
const maxIndex = columnCount - 2;
if(params.toIndex > maxIndex) {
params.columnApi.moveColumnByIndex(params.toIndex, maxIndex);
}
}
Any column that is moved to the right of the 'locked' column is immediately moved to the left of the 'locked' column.

Why is cell increment not detected correctly in LibreOffice Calc

I have a column which I'd like to fill by selecting the top two cells and then drag down the column.
The cell contents are:
=Sheet1.B11
=Sheet1.B31
So when I drag down I expect to see
=Sheet1.B51
=Sheet1.B71
Instead, I get
=Sheet1.B13
=Sheet1.B33
Why is Calc not detecting the increment correctly? Adding more cells manually does not help.
The numbers in cell references are not single numbers which can be used to create a series in this way. In other words: The cell reference B11 is not "B"&11, but even one single cell reference.
To get references from Sheet1.B11 upwards in steps of 20, you could use INDEX like this:
=INDEX($Sheet1.$B$1:$B$100000,11+(ROW(A1)-1)*20)
Put this formula into a cell and fill it down.

iText split PdfPCell when cell is kept together

I am using a table to create a semblance of what is depicted below. The content I'm generating isn't known before hand. The blue sections of the columns are cells that are kept together in the table and I am using ColumnText to display the table. For clarification I have outlined a sample cell layout in the top right of the image. The problem I'm running into is that when I use setSplitLate(false) with setSplitRows(true) alongside with using keepRowsTogether(int[] rows) the splitting doesn't work correctly. Most of the top right section should be able to fit into the bottom left but as shown in the image it is all moved to the top of the next column.
Is there a way to cause the cell to split as well as keep together with it's header? When I remove the keepRowsTogether(int[] rows) call the cell splitting works as expected.
Also, in my situation I only want it to split if there are two lines at the end of the column and two at the beginning of the next. In other words the cell would only split if it contained 4 lines of text. How would I go about doing this?
I modified the top right column as depicted below, blue representing the rows that are kept together.
As depicted, I have a cell for the header as before but I've split up the paragraph into many different cells. The first and last contain cells with two lines of text and the rest contain one line of text. This way I'm guaranteed that the header will stick with at least the first two lines of the bulleted paragraph. If the last two lines, or the last cell, end up not fitting in the column then because the cell contains two lines, I'm guaranteed that at least two lines will be carried over to the next column, if not more, depending on how many of the middle lines carry over as well.

change column letter in formula with drag down

This is the formula
=SUM(Sheet2!A2:A10)
What i've been trying to do is as I drag down the column to have the formula change to =SUM(Sheet2!B2:B10) and so on.
Basically is what happens we drag to the right we get an increment on the column letter, but I want it when I drag down
For a limited number of rows, the formula below in Row2 and copied down should work:
=SUM(INDIRECT("Sheet2!"&CHAR(64+ROW())&"2:"&CHAR(64+ROW())&10))
Beyond 26 rows I would suggest switching to using a helper column instead of creating teh character value from the row number.

Creating a fixed formatted cell in UITableview

I want to have a tableview create rows that look like this:
value1 item1 container1
value10 item10 container10
value100 item100 container100
value2 item2 container2
What I am trying to show is that the first word (value) will have a set length of 12 and then the second word (item) will have a set length of 10 and then the last word (container) is just tagged on at the end.
I am pulling these from a SQLite database and don't want to use multiple lines, but read in a strictly formatted structure like this.
You can layout a custom UITableViewCell in Interface Builder, where you drag two UILabel views onto the Content View and set their size appropriately (Notice that the letters may vary in width, so even though you know it's 10 chars in length, you don't know the maximum width, please keep that in mind)
Then you just fill the open space at the right of a cell with another UILabel, layout it to cover the open space and set it to autoresize it's width and set the right margin to be fixed.
There are quite a few tutorials available on how to use the custom cell in your tableView, I can recommend you this screencast. It explains how you can initialize the custom cell and how you can access the custom labels.
It sounds like you want something like an old-fashion text display in which then nth character in row zero always lines up the nth character in every row.
Even using carefully positioned labels in a custom tableviewcell, you will have to strictly control the specific font and its size if you want all the characters to line up in fixed width column. You will need a fixed width font to begin with and you will have to set the size precisely.
You might want to consider whether this is necessary. iPhone users are used to propionate width text displays. Very precise columns of text might make it difficult to discern rows. I would test first with just a simple table before spending the time tweaking the columns.