gridview editing

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • radhikamrudhu
    New Member
    • Mar 2008
    • 5

    gridview editing

    hi i am not getting the editable gridview using code behind...... i am using mysql and vb for coding please help me.......



    asp:DataGrid ID="dg1" Style="z-index: 101; left: 160px; position: absolute; top: 112px"
    runat="server" AutoGenerateCol umns="False" DataKeyField="s tatesId" OnEditCommand=" DoItemEdit"
    OnDeleteCommand ="DoItemDele te" OnUpdateCommand ="DoItemUpda te" BackColor="Whit e"
    BorderColor="#9 99999" BorderStyle="So lid" BorderWidth="1p x" CellPadding="3" ForeColor="Blac k"
    GridLines="Vert ical">
    <Columns>
    <asp:BoundColum n Visible="False" DataField="stat eName" HeaderText="sta teName"></asp:BoundColumn >
    <asp:TemplateCo lumn HeaderText="sta teName">
    <ItemTemplate >
    <asp:Label ID="Label3" Text='<%# Container.DataI tem("stateName" ) %>' runat="server">
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate >
    <asp:TextBox ID="txtrolesDes " runat="server"> </asp:TextBox>
    </FooterTemplate>
    <EditItemTempla te>
    <asp:TextBox ID="txtrolesDes " runat="server" Text='<%# container.datai tem("stateName" ) %>'>
    </asp:TextBox>
    </EditItemTemplat e>
    </asp:TemplateCol umn>
    <asp:TemplateCo lumn HeaderText="Del ete">
    <ItemTemplate >
    <asp:LinkButt on ID="LinkButton1 " runat="server" CommandName="De lete" Text="Delete"></asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateCol umn>
    <asp:TemplateCo lumn HeaderText="Mod ify">
    <ItemTemplate >
    <asp:LinkButt on ID="Linkbutton2 " runat="server" CausesValidatio n="false" CommandName="Ed it"
    Text="Edit"></asp:LinkButton>
    </ItemTemplate>
    <FooterTemplate >
    <asp:Button CommandName="In sert" Text="Add" ID="btnAdd" runat="server" />
    </FooterTemplate>
    <EditItemTempla te>
    <asp:LinkButt on ID="LinkButton3 " runat="server" CommandName="Up date" Text="Update"></asp:LinkButton> &nbsp;&nbsp;&nb sp;&nbsp;
    <asp:LinkButt on ID="Linkbutton4 " runat="server" CausesValidatio n="false" CommandName="Ca ncel"
    Text="Cancel"></asp:LinkButton>
    </EditItemTemplat e>
    </asp:TemplateCol umn>
    </Columns>
    <FooterStyle BackColor="#CCC CCC" />
    <SelectedItemSt yle BackColor="#000 099" Font-Bold="True" ForeColor="Whit e" />
    <PagerStyle BackColor="#999 999" ForeColor="Blac k" HorizontalAlign ="Center" />
    <AlternatingIte mStyle BackColor="#CCC CCC" />
    <HeaderStyle BackColor="Blac k" Font-Bold="True" ForeColor="Whit e" />
    </asp:DataGrid>
    </div>




    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArg s) Handles Me.Load
    Dim strcon As String
    strcon = "server=localho st; user id=root; password=showof f; database=perry2 4"
    Dim conn2 As New MySqlConnection (strcon)
    Dim strSQL2 As String
    strSQL2 = "SELECT * FROM limostates"
    Try
    conn2.Open()
    Dim dataadapter As New MySqlDataAdapte r(strSQL2, strcon)
    Dim dataset1 As New DataSet
    dataadapter.Fil l(dataset1)
    dg1.DataSource = dataset1
    dg1.DataBind()
    Catch ex As MySql.Data.MySq lClient.MySqlEx ception
    Response.Write( ex.Message)
    End Try
    conn2.Close()
    End Sub
    Sub DoItemDelete(By Val objSource As Object, ByVal objArgs As DataGridCommand EventArgs)
    Dim strcon As String
    strcon = "server=localho st; user id=root; password=showof f; database=perry2 4"
    Dim conn2 As New MySqlConnection (strcon)
    Dim strSQL2 As String
    Try
    conn2.Open()
    strSQL2 = "DELETE FROM limostates WHERE statesId=?state sId"
    Dim cmd As New MySqlCommand(st rSQL2, conn2)
    cmd.ExecuteNonQ uery()
    strSQL2 = "SELECT * FROM limostates"
    Dim dataadapter As New MySqlDataAdapte r(strSQL2, strcon)
    Dim dataset1 As New DataSet
    dataadapter.Fil l(dataset1)
    dg1.DataSource = dataset1
    dg1.DataBind()
    Catch ex As MySql.Data.MySq lClient.MySqlEx ception
    Response.Write( ex.Message)
    End Try
    conn2.Close()
    End Sub

    Sub DoItemEdit(ByVa l objSource As Object, ByVal objArgs As DataGridCommand EventArgs)
    dg1.EditItemInd ex = objArgs.Item.It emIndex
    End Sub

    Sub DoItemCancel(By Val objSource As Object, ByVal objArgs As DataGridCommand EventArgs)
    dg1.EditItemInd ex = -1
    End Sub

    Sub DoItemUpdate(By Val objSource As Object, ByVal objArgs As DataGridCommand EventArgs)
    Dim rolesDes As TextBox
    Dim statesId As Integer
    Dim qstring As String
    rolesDes = CType(objArgs.I tem.FindControl ("rolesDes") , TextBox)
    statesId = dg1.DataKeys(ob jArgs.Item.Item Index)
    Dim strcon As String
    strcon = "server=localho st; user id=root; password=showof f; database=perry2 4"
    Dim conn2 As New MySqlConnection (strcon)
    Try
    conn2.Open()
    qstring = "UPDATE limostates set stateName='" & rolesDes.Text & "' WHERE statesId=?state sId"
    Dim cmd As New MySqlCommand(qs tring, conn2)
    cmd.ExecuteNonQ uery()
    dg1.EditItemInd ex = -1
    qstring = "SELECT * FROM limostates"
    Dim dataadapter As New MySqlDataAdapte r(qstring, conn2)
    Dim dataset1 As New DataSet
    dataadapter.Fil l(dataset1)
    dg1.DataSource = dataset1
    dg1.DataBind()
    Catch ex As MySql.Data.MySq lClient.MySqlEx ception
    Response.Write( ex.Message)
    End Try
    conn2.Close()
    End Sub
    End Class
  • maheshmrk22
    New Member
    • Dec 2007
    • 23

    #2
    Hi,

    I have gone through your code. But i did not get one thing that why did you make the states column as visible false.

    <asp:BoundColum n Visible="False" DataField="stat eName" HeaderText="sta teName"></asp:BoundColumn >


    If you are facing any perticular exception then you can post that here.

    Thanks
    Mahesh



    Originally posted by radhikamrudhu
    hi i am not getting the editable gridview using code behind...... i am using mysql and vb for coding please help me.......



    asp:DataGrid ID="dg1" Style="z-index: 101; left: 160px; position: absolute; top: 112px"
    runat="server" AutoGenerateCol umns="False" DataKeyField="s tatesId" OnEditCommand=" DoItemEdit"
    OnDeleteCommand ="DoItemDele te" OnUpdateCommand ="DoItemUpda te" BackColor="Whit e"
    BorderColor="#9 99999" BorderStyle="So lid" BorderWidth="1p x" CellPadding="3" ForeColor="Blac k"
    GridLines="Vert ical">
    <Columns>
    <asp:BoundColum n Visible="False" DataField="stat eName" HeaderText="sta teName"></asp:BoundColumn >
    <asp:TemplateCo lumn HeaderText="sta teName">
    <ItemTemplate >
    <asp:Label ID="Label3" Text='<%# Container.DataI tem("stateName" ) %>' runat="server">
    </asp:Label>
    </ItemTemplate>
    <FooterTemplate >
    <asp:TextBox ID="txtrolesDes " runat="server"> </asp:TextBox>
    </FooterTemplate>
    <EditItemTempla te>
    <asp:TextBox ID="txtrolesDes " runat="server" Text='<%# container.datai tem("stateName" ) %>'>
    </asp:TextBox>
    </EditItemTemplat e>
    </asp:TemplateCol umn>
    <asp:TemplateCo lumn HeaderText="Del ete">
    <ItemTemplate >
    <asp:LinkButt on ID="LinkButton1 " runat="server" CommandName="De lete" Text="Delete"></asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateCol umn>
    <asp:TemplateCo lumn HeaderText="Mod ify">
    <ItemTemplate >
    <asp:LinkButt on ID="Linkbutton2 " runat="server" CausesValidatio n="false" CommandName="Ed it"
    Text="Edit"></asp:LinkButton>
    </ItemTemplate>
    <FooterTemplate >
    <asp:Button CommandName="In sert" Text="Add" ID="btnAdd" runat="server" />
    </FooterTemplate>
    <EditItemTempla te>
    <asp:LinkButt on ID="LinkButton3 " runat="server" CommandName="Up date" Text="Update"></asp:LinkButton> &nbsp;&nbsp;&nb sp;&nbsp;
    <asp:LinkButt on ID="Linkbutton4 " runat="server" CausesValidatio n="false" CommandName="Ca ncel"
    Text="Cancel"></asp:LinkButton>
    </EditItemTemplat e>
    </asp:TemplateCol umn>
    </Columns>
    <FooterStyle BackColor="#CCC CCC" />
    <SelectedItemSt yle BackColor="#000 099" Font-Bold="True" ForeColor="Whit e" />
    <PagerStyle BackColor="#999 999" ForeColor="Blac k" HorizontalAlign ="Center" />
    <AlternatingIte mStyle BackColor="#CCC CCC" />
    <HeaderStyle BackColor="Blac k" Font-Bold="True" ForeColor="Whit e" />
    </asp:DataGrid>
    </div>




    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArg s) Handles Me.Load
    Dim strcon As String
    strcon = "server=localho st; user id=root; password=showof f; database=perry2 4"
    Dim conn2 As New MySqlConnection (strcon)
    Dim strSQL2 As String
    strSQL2 = "SELECT * FROM limostates"
    Try
    conn2.Open()
    Dim dataadapter As New MySqlDataAdapte r(strSQL2, strcon)
    Dim dataset1 As New DataSet
    dataadapter.Fil l(dataset1)
    dg1.DataSource = dataset1
    dg1.DataBind()
    Catch ex As MySql.Data.MySq lClient.MySqlEx ception
    Response.Write( ex.Message)
    End Try
    conn2.Close()
    End Sub
    Sub DoItemDelete(By Val objSource As Object, ByVal objArgs As DataGridCommand EventArgs)
    Dim strcon As String
    strcon = "server=localho st; user id=root; password=showof f; database=perry2 4"
    Dim conn2 As New MySqlConnection (strcon)
    Dim strSQL2 As String
    Try
    conn2.Open()
    strSQL2 = "DELETE FROM limostates WHERE statesId=?state sId"
    Dim cmd As New MySqlCommand(st rSQL2, conn2)
    cmd.ExecuteNonQ uery()
    strSQL2 = "SELECT * FROM limostates"
    Dim dataadapter As New MySqlDataAdapte r(strSQL2, strcon)
    Dim dataset1 As New DataSet
    dataadapter.Fil l(dataset1)
    dg1.DataSource = dataset1
    dg1.DataBind()
    Catch ex As MySql.Data.MySq lClient.MySqlEx ception
    Response.Write( ex.Message)
    End Try
    conn2.Close()
    End Sub

    Sub DoItemEdit(ByVa l objSource As Object, ByVal objArgs As DataGridCommand EventArgs)
    dg1.EditItemInd ex = objArgs.Item.It emIndex
    End Sub

    Sub DoItemCancel(By Val objSource As Object, ByVal objArgs As DataGridCommand EventArgs)
    dg1.EditItemInd ex = -1
    End Sub

    Sub DoItemUpdate(By Val objSource As Object, ByVal objArgs As DataGridCommand EventArgs)
    Dim rolesDes As TextBox
    Dim statesId As Integer
    Dim qstring As String
    rolesDes = CType(objArgs.I tem.FindControl ("rolesDes") , TextBox)
    statesId = dg1.DataKeys(ob jArgs.Item.Item Index)
    Dim strcon As String
    strcon = "server=localho st; user id=root; password=showof f; database=perry2 4"
    Dim conn2 As New MySqlConnection (strcon)
    Try
    conn2.Open()
    qstring = "UPDATE limostates set stateName='" & rolesDes.Text & "' WHERE statesId=?state sId"
    Dim cmd As New MySqlCommand(qs tring, conn2)
    cmd.ExecuteNonQ uery()
    dg1.EditItemInd ex = -1
    qstring = "SELECT * FROM limostates"
    Dim dataadapter As New MySqlDataAdapte r(qstring, conn2)
    Dim dataset1 As New DataSet
    dataadapter.Fil l(dataset1)
    dg1.DataSource = dataset1
    dg1.DataBind()
    Catch ex As MySql.Data.MySq lClient.MySqlEx ception
    Response.Write( ex.Message)
    End Try
    conn2.Close()
    End Sub
    End Class

    Comment

    • radhikamrudhu
      New Member
      • Mar 2008
      • 5

      #3
      thanks mahesh. i solved that problem..... is it possible to display the gridview vertically in the source code....

      Comment

      • maheshmrk22
        New Member
        • Dec 2007
        • 23

        #4
        Hi,

        What do you mean by Vertical....do you mean in landscape format?

        Thanks
        Mahesh



        Originally posted by radhikamrudhu
        thanks mahesh. i solved that problem..... is it possible to display the gridview vertically in the source code....

        Comment

        • radhikamrudhu
          New Member
          • Mar 2008
          • 5

          #5
          colulmns datas should be displayed in row.....

          Comment

          • maheshmrk22
            New Member
            • Dec 2007
            • 23

            #6
            Hi,

            That is possible. What you have to do is

            1. Take your dataset in one datatable.

            2. for intj=0;j<datata ble.columns.cou nt-1;j++
            datarow dr = new datarow()
            datatable2.rows .add(dr)
            for i=0;i<datatable .rows.count-1;i++
            dr[i] =datatable2[i][j]

            Like wise you have to transfer data from column to rows of new datatatble.

            And then bind that datatble to datagrid.

            Thanks
            Mahesh

            Comment

            Working...