Avatar billede simsen Mester
17. april 2007 - 21:03 Der er 11 kommentarer og
1 løsning

Slet fra gridview

Hej, jeg har et gridview, hvor jeg gerne vil have slettet fra ....

Mit problem ligger slet og ret i, jeg ikke aner, hvordan jeg får fat i rækkens userId (den er nemlig unik)....

Mit gridview:
<asp:GridView ID="grdUsers" runat="server" AutoGenerateColumns="False" OnRowCommand="grdUsers_RowCommand" OnRowDeleting="grdUsers_RowDeleting">
            <Columns>
                <asp:BoundField DataField="userId" HeaderText="BrugerId" SortExpression="userId" />
                <asp:BoundField DataField="userName" HeaderText="Brugernavn" SortExpression="userName" />
                <asp:BoundField DataField="userCity" HeaderText="By" SortExpression="userCity" />
                <asp:ButtonField ButtonType="Button" CommandName="Delete" Text="Slet" />
            </Columns>
        </asp:GridView>

Min codebehind:
protected void grdUsers_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        DatabaseApi api = new DatabaseApi();
        try
        {
            int userId = Convert.ToInt32(e);

            if (api.DeleteUser(userId) == DatabaseApi.FStatus.Success)
            {

                lblMessage.Text = "Brugeren er slettet";
            }
            else
            {
                lblMessage.Text = "Brugeren blev ikke slettet";
            }
        }
        catch
        { }

       

        api.Dispose();
     
    }

Altså hvad skal jeg skrive her:
int userId = Convert.ToInt32(e);

det må være et eller andet med e????

mvh
simsen :-)
Avatar billede neoman Novice
17. april 2007 - 21:27 #1
Jeg ville gætte på e.Keys.Values(0) :)
Avatar billede simsen Mester
18. april 2007 - 07:59 #2
hmmmmmmmmm den svarede jeg på igår, og fik også at se, den var der.......nå men skidt pyt ....forsøger bare igen :-)

neoman

Den kunne jeg ikke bruge, ligesom jeg har forsøgt mig med e.Keys.Values[0];

Har du andre ideer?

mvh
simsen :-)
Avatar billede snepnet Nybegynder
18. april 2007 - 10:30 #3
Du skal angive userid som datakeyname på dit grid, hvis du skal kunne gøre sådan der:
// på grid'et
DataKeyNames="UserId"
Mvh
Avatar billede simsen Mester
18. april 2007 - 17:50 #4
Hej snepnet

Jeg har sat DataKeynames på Datagrid'et:

<asp:GridView ID="grdUsers" runat="server" AutoGenerateColumns="False" OnRowCommand="grdUsers_RowCommand" OnRowDeleting="grdUsers_RowDeleting" DataKeyNames="userId">

Jeg har så forsøgt mig med følgende:
e.Keys.Values(0);
og
e.Keys.Values[0]
og
e.Keys.Values;
og
Convert.ToInt32(e.Keys.Values);
osv.

Jeg kan bare ikke hitte ud af det - alle kommer med fejl?

mvh
simsen :-)
Avatar billede snepnet Nybegynder
18. april 2007 - 21:42 #5
int id = (int)e.Keys[0];
Skulle være fin nok, hvis ikke må du skrive hvilke fejl du får.
Nu hedder din nøgle-property UserId ikke?
Mvh
Avatar billede simsen Mester
18. april 2007 - 22:50 #6
snepnet

Husk nu du skriver til mig *griner* Hvad mener du med nøgle-property?

Jeg bruger nøglen fra databasen som er userId - som jeg også får skrevet ud i gridview'et:

<asp:BoundField DataField="userId" HeaderText="BrugerId" SortExpression="userId" />


Jeg får følgende fejl nu:
ArgumentOutOfRangeException was Caught
Index was out of range. Must be non-negative and less than the size of the collection.

Har det noget at gøre med, at jeg forsøger at lave den i:
protected void grdUsers_RowDeleting(object sender, GridViewDeleteEventArgs e)

og at jeg ikke laver den i:
protected void grdUsers_RowCommand(object sender, GridViewCommandEventArgs e)

mvh
simsen :-)
Avatar billede snepnet Nybegynder
19. april 2007 - 13:08 #7
Jeg tror egentlig ballader er, at du ikke benytter en datasource.... Har du leget med en ObjectDataSource?
Mvh
Avatar billede simsen Mester
02. maj 2007 - 08:54 #8
Hejsa snepnet,

Jeg har kigget på ObjectDataSource en halvtime.....og kunne ikke få eksemplet til at virke.....og så blev jeg da heldigvis bare sur...og gad ikke længere *griner*

Men skal nok love, når jeg får mere tid, at kigge på den mere end en halv time....

Smid et svar og pointsene er dine og tak fordi du igen gider hjælpe mig alligevel....selvom det ikke er ObjectDataSource :-)

mvh
simsen :-)
Avatar billede snepnet Nybegynder
06. maj 2007 - 13:28 #9
Et svar kommer her :o)
Du kan såmænd godt få et eksempel på brug af en ObjectDataSource hvis det skulle være... Det er ikke så slemt endda, men der er et par småfælder rundt omkring.
Mvh
Avatar billede simsen Mester
07. maj 2007 - 12:12 #10
Hejsa snepnet,

Det vil jeg meget gerne, for har sat mig for, når jeg er færdig med den her hjemmeside, vil jeg gå ind og lære mig to ting;

1) ObjectDataSource
2) MySql (administrationen af den)........ så jeg er fri for at bruge access - og ja det er flovt.....jeg KAN nemlig godt hitte ud af Sybase, Oracle og MSSql.....jeg kan bare ikke hitte ud af MySql - hvordan jeg får stored procedures osv. ind på mit web-hotels udgave....

mvh
simsen :-)
Avatar billede snepnet Nybegynder
07. maj 2007 - 19:07 #11
Hej simsen :)
Jeg har egentlig lavet sådan et eksempel før ... Du kan se det her:
http://www.eksperten.dk/spm/744958
Men du må bare spørge hvis der er noget.
Det jeg har været blandet ind i, hvor det har været med en hostet mysql - har hosten tilbudt et online administrationsværktøj - har de ikke sådan et du kan bruge?
Mvh
Avatar billede simsen Mester
09. maj 2007 - 19:29 #12
Hejsa snepnet,

Jow det har de....... men helt ærligt - så kan jeg ikke hitte ud af den, og den "hjælp" de tilbyder, er et link til en side, der fortæller hvordan jeg laver en select statement.......og ikke hvordan selve administrationsværktøjet virker.....

og jeg KAN altså godt lave en select commando.......Jeg kan endda godt lave en stored procedure.......men når jeg så ikke aner, hvor jeg skal lægge den hen, så kan det jo ligesom være ligemeget :-(

Men som sagt.......jeg er et stædig asen, så vil koncentrere mig om det senere :-)

Tak for linket - har lagt den ind i favoritter, til når jeg får mere tid :-)

mvh
simsen :-)
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