Avatar billede simonia Nybegynder
21. maj 2004 - 23:54 Der er 1 løsning

Cancel, Edit, Delete, Update i datagrid

Jeg håber, her er nogle, som kan hjælpe.

Jeg har strikket dette sammen, men ved ikke, hvad jeg skal skrive i de subs, der giver knapperne den ønskede funktion.

Her er sourcekoden:

<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.IO" %>
<script runat="server">

    Sub Page_Load(sender as object, e as eventargs)
        If not Page.IsPostback Then
            EventData.DataSource = LoadMyCalendarData
            EventData.DataBind()
        End If
    End Sub
   
    Protected Function LoadMyCalendarData() As DataSet
        Dim sourceXML as String    = Server.MapPath("MyCalendar.xml")
        If    ( Not File.Exists(sourceXML) ) Then
            Return Nothing
        End if
   
        Dim cachedDataSet as DataSet = Session("MyCalendarData")
        if ( Not cachedDataSet Is Nothing ) Then
          Return cachedDataSet
        End if
   
        Dim dataSet As DataSet = New DataSet()
   
        Try
          dataSet.ReadXml(sourceXML)
          Session("MyCalendarData") = dataSet
        Catch e As Exception
          ErrorMessage.Text = e.Message
          dataSet = Nothing
        End Try
   
        Return dataSet
    End Function
   
    Sub DEDR_Edit(sender as object, e as DataGridCommandEventArgs)
        EventData.EditItemIndex = CInt(E.Item.ItemIndex)
        EventData.DataSource = LoadMyCalendarData
        EventData.DataBind()
    End Sub
   
    Sub DEDR_Update(sender as object, e as DataGridCommandEventArgs)
        Dim dataSet as DataSet = LoadMyCalendarData
        Dim row as Integer = CInt(E.Item.ItemIndex)
        Dim EditText as textbox
   
        EditText = E.Item.FindControl("txtShortDesc")
        dataSet.Tables(0).Rows(row).Item("ShortDesc") = EditText.Text
        EditText = E.Item.FindControl("txtDetailDesc")
        dataSet.Tables(0).Rows(row).Item("DetailDesc") = EditText.Text
        EditText = E.Item.FindControl("txtEventDate")
        dataSet.Tables(0).Rows(row).Item("EventDate") = EditText.Text
        EditText = E.Item.FindControl("txtStartTime")
        dataSet.Tables(0).Rows(row).Item("StartTime") = EditText.Text
        EditText = E.Item.FindControl("txtEndTime")
        dataSet.Tables(0).Rows(row).Item("EndTime") = EditText.Text
   
        dataSet.WriteXML(Server.Mappath("MyCalendar.xml"))
   
        Session("MyCalendarData") = Nothing
   
        EventData.EditItemIndex = -1
   
        EventData.DataSource = LoadMyCalendarData
        EventData.DataBind()
    End Sub
   
    Sub DEDR_Cancel(sender as object, e as DataGridCommandEventArgs)
        EventData.EditItemIndex = -1
        Session("MyCalendarData") = Nothing
        EventData.DataSource = LoadMyCalendarData
        EventData.DataBind()
    End Sub
   
    Sub DEDR_Delete(sender as object, e as DataGridCommandEventArgs)
        Dim dataSet as DataSet = LoadMyCalendarData
        Dim row as Integer = CInt(E.Item.ItemIndex)
   
        dataSet.Tables(0).Rows(row).Delete
   
        dataSet.WriteXML(Server.Mappath("MyCalendar.xml"))
   
        Session("MyCalendarData") = Nothing
   
        EventData.EditItemIndex = -1
   
        EventData.DataSource = LoadMyCalendarData
        EventData.DataBind()
    End Sub
   
    Sub DEDR_Add(sender as object, e as EventArgs)
        Dim dataSet as DataSet = LoadMyCalendarData
        Dim newRow as DataRow
        newRow = dataSet.Tables(0).NewRow()
        newRow.Item("EventDate") = ""
        newRow.Item("ShortDesc") = ""
        newRow.Item("DetailDesc") = ""
        newRow.Item("StartTime") = ""
        newRow.Item("EndTime") = ""
        dataSet.Tables(0).Rows.Add(newRow)
   
        dataSet.WriteXML(Server.Mappath("MyCalendar.xml"))
   
        Session("MyCalendarData") = Nothing
   
        EventData.DataSource = LoadMyCalendarData
        EventData.DataBind()
   
        EventData.EditItemIndex = EventData.Items.Count - 1
   
        EventData.DataSource = LoadMyCalendarData
        EventData.DataBind()
    End Sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <asp:Label id="Errormessage" runat="Server"></asp:Label>
        <br />
        <asp:linkbutton id="LinkButton1" onclick="DEDR_Add" runat="Server" text="Add new event"></asp:linkbutton>
        <br />
        <asp:datagrid id="Eventdata" runat="Server" OnCancelCommand="DEDR_Cancel" OnDeleteCommand="DEDR_Delete" OnUpdateCommand="DEDR_Update" OnEditcommand="DEDR_Edit" width="100%" autogeneratecolumns="false">
            <Headerstyle forecolor="White" backcolor="DodgerBlue" font-bold="true" />
            <ItemStyle backcolor="White" />
            <AlternatingItemStyle backcolor="Gainsboro" />
            <Columns>
                <asp:TemplateColumn HeaderText="Varenummer">
                    <ItemTemplate>
                        <%# DataBinder.Eval(Container.DataItem, "EventDate") %>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:Textbox id="txtEventDate" size="25" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "EventDate") %>' />
                    </EditItemTemplate>
                </asp:TemplateColumn>
                <asp:TemplateColumn HeaderText="Varenavn">
                    <ItemTemplate>
                        <%# Container.DataItem("ShortDesc") %>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:Textbox id="txtShortDesc" size="25" runat="server" Text='<%# Container.DataItem("ShortDesc") %>' />
                    </EditItemTemplate>
                </asp:TemplateColumn>
                <asp:TemplateColumn HeaderText="Varetype">
                    <ItemTemplate>
                        <%# Container.DataItem("DetailDesc") %>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:Textbox id="txtDetailDesc" size="7" runat="server" Text='<%# Container.DataItem("DetailDesc") %>' />
                    </EditItemTemplate>
                </asp:TemplateColumn>
                <asp:TemplateColumn HeaderText="Beskrivelse">
                    <ItemTemplate>
                        <%# Container.DataItem("StartTime") %>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:Textbox id="txtStartTime" size="50" runat="server" Text='<%# Container.DataItem("StartTime") %>' />
                    </EditItemTemplate>
                </asp:TemplateColumn>
                <asp:TemplateColumn HeaderText="Pris">
                    <ItemTemplate>
                        <%# Container.DataItem("EndTime") %>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:Textbox id="txtEndTime" size="7" runat="server" Text='<%# Container.DataItem("EndTime") %>' />
                    </EditItemTemplate>
                </asp:TemplateColumn>
                <asp:TemplateColumn>
                    <ItemTemplate>
                        <asp:linkbutton Commandname="Edit" Text="Edit" runat="Server" />
                        <asp:linkbutton Commandname="Delete" Text="Delete" runat="Server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:linkbutton Commandname="Cancel" Text="Cancel" runat="Server" />
                        <asp:linkbutton Commandname="Update" Text="Update" runat="Server" />
                    </EditItemTemplate>
                </asp:TemplateColumn>
            </Columns>
        </asp:datagrid>
    </form>
</body>
</html>
Avatar billede simonia Nybegynder
27. maj 2004 - 19:47 #1
ja der var jo kke meget hjælp at hente. lukket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester