Editing Grid Cells

Editing Grid Cells

Grids provide a nice way to present certain types of spreadsheet information.Unfortunately, the grid in VB does not allow editing. With just a littlebit of code you can simulate editing on top of a grid.
To begin, you need to create a form with a grid and add a hidden textbox. Name the grid control grdFields, and the text box txtEdit.
When the user double-clicks on a cell you need to move the hidden textbox over that cell and make it visible. Use this code in the grid’s DblClickevent:

 Sub grdFields_DblClick () miLastRow = grdFields.Row miLastCol = grdFields.Col Call GridEdit(grdFields, txtEdit) End Sub 

You’ll need two module-level variables to track which row and columnthe cursor is on. These variables will be used later to replace the informationfrom the text box back into the grid.
To find the location on the screen for the text box, you need to calculatethe cell’s distance from the top and left of the form. You also need toadd each row height and column width individually, because each cell canbe a different size. Add this GridEdit() routine to calculate the positionand move the text box on top of the grid:

 Sub GridEdit (grdCurrent As Control, _ ctlEdit As Control) Dim iWidth As Single ' Total Height Dim iHeight As Single ' Total Width Dim iLoop As Integer iWidth = _ grdCurrent.Left + Screen.TwipsPerPixelX iHeight = _ grdCurrent.Top + Screen.TwipsPerPixelY ' Get Total Width For iLoop = 0 To grdCurrent.Col - 1 iWidth = iWidth + grdCurrent.ColWidth(iLoop) If grdCurrent.GridLines Then iWidth = iWidth + (Screen.TwipsPerPixelX * _ grdCurrent.GridLineWidth) End If Next ' Get Total Height For iLoop = 0 To grdCurrent.Row - 1 iHeight = iHeight + grdCurrent.RowHeight(iLoop) If grdCurrent.GridLines Then iHeight = iHeight + (Screen.TwipsPerPixelY * _ grdCurrent.GridLineWidth) End If Next ' Move the Text Box On Top Of The Grid ctlEdit.Move iWidth, iHeight ctlEdit.Height = _ grdCurrent.RowHeight(grdCurrent.Row) ctlEdit.Text = grdCurrent.Text ctlEdit.Width = _ grdCurrent.ColWidth(grdCurrent.Col) ctlEdit.Visible = True ctlEdit.SetFocus ctlEdit.ZOrder 0 End Sub 

After you’ve calculated the width and height, use the Move methodto place the text box at the proper location. Next, make the text box visibleand set its ZOrder to 0, to put it on top of the grid. You also need tomove the text from the grid into the Text Box.
After the user finishes editing the text in the text box, you needto put the text back into the grid and hide the text box. Use this in thegrid’s Click event:

 Sub grdFields_Click () If txtEdit.Visible Then Call GridReset(grdFields, txtEdit, _ miLastRow, miLastCol) End If End Sub 

Check to see if the text box is visible. If it is, you need totake the edited data and put it back into the grid with the GridReset()procedure:

 Sub GridReset (grdFields As Grid, _ ctlEdit As Control, iRow As Integer, _ iCol As Integer) Dim iOldRow As Integer Dim iOldCol As Integer iOldRow = grdFields.Row iOldCol = grdFields.Col grdFields.Row = iRow grdFields.Col = iCol grdFields.Text = ctlEdit.Text ctlEdit.Visible = False ctlEdit.Move 0, 0 grdFields.Row = iOldRow grdFields.Col = iOldCol End Sub 

When the user clicks on another cell after editing the text box,the grid has been updated to the new row and column. Go back to the lastrow and column where the user was editing, take the contents of the textbox, and put that value into the grid’s cell. You can then make the textbox invisible and move it to an area on the form that is out of the way.
This tip won’t work if the grid has scrollbars, except when scrolledall the way to the left and top. To fix this would require additional loopsto add up the height/width of fixed rows/columns. In that case, the otherloops would need to be adjusted to calculate only from TopRow to Row, ratherthan from 0 to Row – 1 (but I’d want to test it to be sure!).
Also, it goes nuts if the scrollbar is clicked while text box is visible.At any rate, it will work if scrollbars aren’t enabled.

devx-admin

devx-admin

Share the Post:
Chinese 5G Limitation

Germany Considers Limiting Chinese 5G Tech

A recent report has put forth the possibility that Germany’s Federal Ministry of the Interior and Community may consider limiting the use of Chinese 5G

Modern Warfare

The Barak Tank is Transforming Modern Warfare

The Barak tank is a groundbreaking addition to the Israeli Defense Forces’ arsenal, significantly enhancing their combat capabilities. This AI-powered military vehicle is expected to

AI Cheating Growth

AI Plagiarism Challenges Shake Academic Integrity

As generative AI technologies like ChatGPT become increasingly prevalent among students and raise concerns about widespread cheating, prominent universities have halted their use of AI

US Commitment

US Approves Sustainable Battery Research

The US Department of Energy has revealed a $325 million commitment in the research of innovative battery types, designed to enable solar and wind power

Netanyahu Musk AI

Netanyahu and Musk Discuss AI Future

On September 22, 2023, Israeli Prime Minister Benjamin Netanyahu met with entrepreneur Elon Musk in San Francisco prior to attending the United Nations. In a

Chinese 5G Limitation

Germany Considers Limiting Chinese 5G Tech

A recent report has put forth the possibility that Germany’s Federal Ministry of the Interior and Community may consider limiting the use of Chinese 5G technology by local network providers

Modern Warfare

The Barak Tank is Transforming Modern Warfare

The Barak tank is a groundbreaking addition to the Israeli Defense Forces’ arsenal, significantly enhancing their combat capabilities. This AI-powered military vehicle is expected to transform the way modern warfare

AI Cheating Growth

AI Plagiarism Challenges Shake Academic Integrity

As generative AI technologies like ChatGPT become increasingly prevalent among students and raise concerns about widespread cheating, prominent universities have halted their use of AI detection software, such as Turnitin’s

US Commitment

US Approves Sustainable Battery Research

The US Department of Energy has revealed a $325 million commitment in the research of innovative battery types, designed to enable solar and wind power as continuous, 24-hour energy sources.

Netanyahu Musk AI

Netanyahu and Musk Discuss AI Future

On September 22, 2023, Israeli Prime Minister Benjamin Netanyahu met with entrepreneur Elon Musk in San Francisco prior to attending the United Nations. In a live-streamed discussion, Netanyahu lauded Musk

Urban Gardening

Creating Thriving Cities Through Urban Gardening

The rising popularity of urban gardening is receiving increased recognition for its numerous advantages, as demonstrated in a recent study featured in the Environmental Research Letters journal. Carried out by

What You Need to Know About Cloud Security Strategies

What You Need to Know About Cloud Security Strategies

Today, many businesses are adopting cloud computing services. As a result, it’s important to recognize that security measures for data in the cloud are different from those in traditional on-premises

Romanian Energy Security

Eastern Europe is Achieving Energy Security

Canada and Romania have solidified their commitment to energy security and independence from Russian energy exports by signing a $3-billion export development agreement. The deal is centered on constructing two

Seamless Integration

Unlocking Seamless Smart Home Integration

The vision of an intelligently organized and interconnected smart home that conserves time, energy, and resources has long been desired by many homeowners. However, this aspiration has often been hindered

New Algorithm

MicroAlgo’s Groundbreaking Algorithm

MicroAlgo Inc. has revealed the creation of a knowledge-augmented backtracking search algorithm, developed through extensive research in evolutionary computational techniques. The algorithm is designed to boost problem-solving effectiveness, precision, and

Poland Energy Future

Westinghouse Builds Polish Power Plant

Westinghouse Electric Company and Bechtel have come together to establish a formal partnership in order to design and construct Poland’s inaugural nuclear power plant at the Lubiatowo-Kopalino site in Pomerania.

EV Labor Market

EV Industry Hurting For Skilled Labor

The United Auto Workers strike has highlighted the anticipated change towards a future dominated by electric vehicles (EVs), a shift which numerous people think will result in job losses. However,

Soaring EV Quotas

Soaring EV Quotas Spark Battle Against Time

Automakers are still expected to meet stringent electric vehicle (EV) sales quotas, despite the delayed ban on new petrol and diesel cars. Starting January 2023, more than one-fifth of automobiles

Affordable Electric Revolution

Tesla Rivals Make Bold Moves

Tesla, a name synonymous with EVs, has consistently been at the forefront of the automotive industry’s electric revolution. The products that Elon Musk has developed are at the forefront because

Sunsets' Technique

Inside the Climate Battle: Make Sunsets’ Technique

On February 12, 2023, Luke Iseman and Andrew Song from the solar geoengineering firm Make Sunsets showcased their technique for injecting sulfur dioxide (SO₂) into the stratosphere as a means

AI Adherence Prediction

AI Algorithm Predicts Treatment Adherence

Swoop, a prominent consumer health data company, has unveiled a cutting-edge algorithm capable of predicting adherence to treatment in people with Multiple Sclerosis (MS) and other health conditions. Utilizing artificial

Personalized UX

Here’s Why You Need to Use JavaScript and Cookies

In today’s increasingly digital world, websites often rely on JavaScript and cookies to provide users with a more seamless and personalized browsing experience. These key components allow websites to display

Geoengineering Methods

Scientists Dimming the Sun: It’s a Good Thing

Scientists at the University of Bern have been exploring geoengineering methods that could potentially slow down the melting of the West Antarctic ice sheet by reducing sunlight exposure. Among these

why startups succeed

The Top Reasons Why Startups Succeed

Everyone hears the stories. Apple was started in a garage. Musk slept in a rented office space while he was creating PayPal with his brother. Facebook was coded by a

Bold Evolution

Intel’s Bold Comeback

Intel, a leading figure in the semiconductor industry, has underperformed in the stock market over the past five years, with shares dropping by 4% as opposed to the 176% return

Semiconductor market

Semiconductor Slump: Rebound on the Horizon

In recent years, the semiconductor sector has faced a slump due to decreasing PC and smartphone sales, especially in 2022 and 2023. Nonetheless, as 2024 approaches, the industry seems to

Elevated Content Deals

Elevate Your Content Creation with Amazing Deals

The latest Tech Deals cater to creators of different levels and budgets, featuring a variety of computer accessories and tools designed specifically for content creation. Enhance your technological setup with

Learn Web Security

An Easy Way to Learn Web Security

The Web Security Academy has recently introduced new educational courses designed to offer a comprehensible and straightforward journey through the intricate realm of web security. These carefully designed learning courses