Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>html page look like,</p> <pre><code> &lt;asp:GridView ID="Grid1" runat="server" AutoGenerateColumns="False" GridLines="None"&gt; &lt;Columns&gt; &lt;asp:TemplateField HeaderText="ID"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="lbl1" runat="server" Text='&lt;%#Bind("ID") %&gt;' CssClass="rowHeader"&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;FooterTemplate&gt; &lt;asp:TextBox ID="txt1" runat="server" Text='&lt;%#Bind("ID") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/FooterTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Description"&gt; &lt;ItemTemplate&gt; &lt;asp:TextBox ID="txt" runat="server" Text='&lt;%#Bind("Description") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/ItemTemplate&gt; &lt;FooterTemplate&gt; &lt;asp:TextBox ID="txt2" runat="server" Text='&lt;%#Bind("Description") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/FooterTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Comments"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="Comments" runat="server" Text='&lt;%#Bind("Comments") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;FooterTemplate&gt; &lt;asp:DropDownList ID="Drop1" runat="server"&gt; &lt;asp:ListItem&gt;v1&lt;/asp:ListItem&gt; &lt;asp:ListItem&gt;v2&lt;/asp:ListItem&gt; &lt;/asp:DropDownList&gt; &lt;/FooterTemplate&gt; &lt;/asp:TemplateField&gt; &lt;/Columns&gt; &lt;/asp:GridView&gt; &lt;asp:Button ID="btnAdd" runat="server" Text="Add" /&gt; &lt;asp:Button ID="btnSave" runat="server" Text="Save" /&gt; </code></pre> <p>on page load,</p> <p>conn = New OleDb.OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = D:\GDD_Work\Employee.mdb")</p> <pre><code> If Not Page.IsPostBack Then ViewState("intCount") = 0 Session("blnFlag") = False Dim Cmd As New OleDb.OleDbDataAdapter("Select * from Emp", conn) Cmd.Fill(ds, "Employee") Grid1.DataSource = ds.Tables("Employee") Grid1.DataBind() Session("intOldCount") = ds.Tables("Employee").Rows.Count Session("tempTable") = ds.Tables("Employee") </code></pre> <p>on add button click,</p> <p>If Session("blnFlag") = False Then Session("blnFlag") = True Else getFooter() End If</p> <pre><code> Grid1.FooterRow.Visible = True </code></pre> <p>on save button click,</p> <p>Dim intOldCount As Integer Dim intNewCount As Integer Dim dt As New DataTable Dim strQuery As String intOldCount = CType(Session("intOldCount"), Integer) If Session("blnFlag") = True Then</p> <pre><code> getFooter() dt = CType(Session("tempTable"), DataTable) intNewCount = dt.Rows.Count If intOldCount = intNewCount Then Dim tx1 As TextBox Dim tx2 As TextBox Dim drp As DropDownList tx1 = CType(Grid1.FooterRow.FindControl("txt1"), TextBox) tx2 = CType(Grid1.FooterRow.FindControl("txt2"), TextBox) drp = CType(Grid1.FooterRow.FindControl("Drop1"), DropDownList) strQuery = "INSERT INTO Emp (ID,Description,Comments) values ('" + tx1.Text + "','" + tx2.Text + "','" + drp.SelectedValue + "')" Dim Cmd As New OleDb.OleDbCommand(strQuery, conn) conn.Open() Cmd.ExecuteNonQuery() conn.Close() Else For i = intOldCount To intNewCount - 1 Dim strId As String Dim strDesc As String Dim strComm As String strId = dt.Rows(i)(0).ToString() strDesc = dt.Rows(i)(1).ToString() strComm = dt.Rows(i)(2).ToString() strQuery = "INSERT INTO Emp (ID,Description,Comments) values ('" + strId + "','" + strDesc + "','" + strComm + "')" Dim Cmd As New OleDb.OleDbCommand(strQuery, conn) conn.Open() Cmd.ExecuteNonQuery() conn.Close() Next End If For i = 0 To intOldCount - 1 Dim strId As String Dim strDesc As String strId = dt.Rows(i)(0).ToString() strDesc = dt.Rows(i)(1).ToString() strQuery = "update Emp set Description = '" + strDesc + "' where ID = '" + strId + "'" Dim Cmd1 As New OleDb.OleDbCommand(strQuery, conn) conn.Open() Cmd1.ExecuteNonQuery() conn.Close() Next ds = New DataSet() Dim CmdData As New OleDb.OleDbDataAdapter("Select * from Emp", conn) CmdData.Fill(ds, "Employee") Grid1.DataSource = ds.Tables("Employee").DefaultView Grid1.DataBind() Session("blnFlag") = False Else dt = CType(Session("tempTable"), DataTable) i = 0 For Each rows As GridViewRow In Grid1.Rows Dim txt As TextBox txt = CType(rows.FindControl("txt"), TextBox) dt.Rows(i)(1) = txt.Text i = i + 1 Next Session("tempTable") = dt For i = 0 To intOldCount - 1 Dim strId As String Dim strDesc As String strId = dt.Rows(i)(0).ToString() strDesc = dt.Rows(i)(1).ToString() strQuery = "update Emp set Description = '" + strDesc + "' where ID = '" + strId + "'" Dim Cmd1 As New OleDb.OleDbCommand(strQuery, conn) conn.Open() Cmd1.ExecuteNonQuery() conn.Close() Next Grid1.DataSource = dt.DefaultView Grid1.DataBind() End If </code></pre> <p>im using one function like,</p> <p>Public Function getFooter() Dim tx1 As TextBox Dim tx2 As TextBox Dim drp As DropDownList tx1 = CType(Grid1.FooterRow.FindControl("txt1"), TextBox) tx2 = CType(Grid1.FooterRow.FindControl("txt2"), TextBox) drp = CType(Grid1.FooterRow.FindControl("Drop1"), DropDownList)</p> <pre><code> Dim dr As DataRow Dim dt As DataTable dt = CType(Session("tempTable"), DataTable) dr = dt.NewRow() dr("ID") = tx1.Text dr("Description") = tx2.Text dr("Comments") = drp.SelectedValue dt.Rows.Add(dr) i = 0 For Each rows As GridViewRow In Grid1.Rows Dim txt As TextBox txt = CType(rows.FindControl("txt"), TextBox) dt.Rows(i)(1) = txt.Text i = i + 1 Next Grid1.DataSource = dt.DefaultView Grid1.DataBind() Session("tempTable") = dt End Function </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload