Robins Harawa
asked on
How to generate dynamic Rows in DataGridview by using TextBox number
I have one TextBox and one Button. I want to generate number of rows according to number entered in TextBox by clicking the Button in vb.net.
Asp.NET ?
ASKER
No windows form application
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Another way of accomplishing this is to use some LINQ, e.g. -
Form1.vb -
Form1.Designer.vb -
Produces the following results -
Initial load -Entering a value in the textbox -After leaving the textbox -
-saige-
Form1.vb -
Public Class Form1
Private Sub OnLeave(sender As Object, e As EventArgs) Handles TextBox1.Leave
Dim value = 0
DataGridView1.DataSource = (From i In Enumerable.Range(0, If(Integer.TryParse(CType(sender, TextBox).Text, value), value, 0)) Select New With {.Key = i}).ToList()
End Sub
End Class
Form1.Designer.vb -
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.TextBox1 = New System.Windows.Forms.TextBox()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(13, 13)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.Size = New System.Drawing.Size(259, 210)
Me.DataGridView1.TabIndex = 0
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(171, 229)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(100, 20)
Me.TextBox1.TabIndex = 1
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(284, 261)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.DataGridView1)
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents TextBox1 As TextBox
End Class
Produces the following results -
Initial load -Entering a value in the textbox -After leaving the textbox -
-saige-
ASKER
thanks guys