Just nu i M3-nätverket
Gå till innehåll

X-knapp i VB.NET


michael

Rekommendera Poster

Någon som vet hur man kommer åt x-knappen (för att stänga formulär) med vb.net?

Kör me.closing, men den kallas ju på varje gång formuläret ska stängas, alltså ser inte skillnad på x-knappen eller vanliga knappar som ska stänga formuläret (tex 'Avbryt' och 'Spara och stäng')

 

Tack

 

..michael ericsson...

Länk till kommentar
Dela på andra webbplatser

Inget svar än. Synd. Kanske inte är jättevanligt än att man kodar VB.NET hemma...

 

Annan fråga:

Går det konvertera ett DataSet till ett RecordSet i VB.NET?

 

..michael ericsson...

 

[inlägget ändrat 2002-10-23 16:11:38 av michael]

Länk till kommentar
Dela på andra webbplatser

Förstår inte vad som är problemet. :)

Man kan stänga formuläret med knappar som kör Form.Close och det är samma sak som händer när du klickar på "x-knappen". Internt i Form.Close så triggar Form.Closing och Form.Closed.

 

Vad är du ute efter?

/

 

P.S. DataSet och RecordSet är inte särskilt lika, så jag tvivlar på att det går att konvertera mellan dem. Eventuellt kan du mecka ihop ett RecordSet från en DataTable.

 

[inlägget ändrat 2002-10-23 16:59:36 av nop4e71]

Länk till kommentar
Dela på andra webbplatser

Stefan B Karlsson

Ett dataset består ju av XML. Och så vitt jag vet så har ado 2.7 visst xml-stöd så det borde gå att tweeka till på något sätt..

 

Har för mig att man kan ladda ett recordset med en xml-struktur och på det sättet kunna arbeta vidare med den som ett vanligt recordset.

 

Om det är livsviktigt kan jag nog rota reda på den koden.

 

mvh /

Stefan Karlsson

ITmaskinen.se

 

Länk till kommentar
Dela på andra webbplatser

Ett DataSet består ju av fler tables och dess schema är, vad jag sett, helt olikt ADO.RecordSet.

Tveksam till detta, men det vore kul att se om det går. :)

/

 

Länk till kommentar
Dela på andra webbplatser

Stefan B Karlsson

Helt rätt. Men med ett lite transformation och en del begränsningar i vad som går att konvertera så kanske det går.

 

Den koden med exempel jag pratade om hanterar bara att plocka ut ett recordset från t.ex. en SQL-server, göra om det till xml och spara som fil. Sedan läser man in xml-filen direkt till ett ado-recordset och arbetar vidare på det.

 

Well. Om man vill tillräckligt mycket så går det att göra lite transformations och hokus pokus. Men frågan är om det är värt det, eller om det bara var för att täcka upp okunskap på ett annat område.

 

 

mvh /

Stefan Karlsson

ITmaskinen.se

 

Länk till kommentar
Dela på andra webbplatser

Hmm. Det är klart, skicka in innehåller i en DataTable i en tabell är enkelt. Hämta det till ett RecordSet likså. Det enda smolket jag ser är att det inte går att skapa tabeller och annat mha ADO.NET, så det måste ske via en existerande temp-tabell. :)

/

 

Länk till kommentar
Dela på andra webbplatser

Vad är du ute efter?

Har en Spara och stäng knapp som inte ska fråga utan bara spara. Men jag vill att x-knappen och Alt+F4 ska fråga om man vill spara.

(har löst det men en Boolsk variabel)

 

..michael ericsson...

 

Länk till kommentar
Dela på andra webbplatser

Följer er diskussion, kul att läsa.

 

Mitt problem är att jag ska skriva ut rapporter mha Crystal Reports 8.5. Den versionen av Crystal Reports tar inte mot ett dataset utan bara recordset, varför jag vill kunna konvertera informationen i en tabell i ett dataset till recordset. Har pillat lite med att använda stream och XML, men jag lyckas inte. (Ska vara klart idag ;) )

 

Jag fortsätter testa så får vi se hur det går. Återkommer med mitt resultat.

 

..michael ericsson...

 

Länk till kommentar
Dela på andra webbplatser

Enklast att lösa genom att ha en flagga (bool) som håller status (huruvida det är ändringar som inte är sparade finns). När ändringar görs sätts flaggan till true, när man sparar till false.

När du klicka Spara så sparar du (och sättar därmed flaggan till false) och sedan stänger du formuläret. I eventet Closing kollar du sedan om flaggan är true och varnar i så fall för osparade ändring (och avbryter ev stängingen). Är flaggan false gör du inget (därmed stäng formuläret utan varning).

Lycka till!

/

 

Länk till kommentar
Dela på andra webbplatser

Stefan B Karlsson

Finns det någon anledning till att du inte kör direkt mot datakällan i Crystal istället för att gå mot dataset:et?

 

(Det kan finnas flera, det är därför jag frågar.)

 

 

mvh /

Stefan Karlsson

ITmaskinen.se

 

Länk till kommentar
Dela på andra webbplatser

Jo, som jag skrev ovan, det är så jag löst det... Men om jag inte ha en flagga som även berättar vad det är som triggar stängningen (knapp eller Alt+F4) så kommer frågan alltid komma. Inte så snyggt om man får frågan "Vill du spara innan du stänger" om man trycker på Spara och stäng...

 

Har därför en flagga som sätts till true om man klickar på någon knapp, och annars är false och då kommer frågan (vid x-tryck eller Alt+F4)

 

Trodde dock att det fanns en egen funktion för att kolla om man stänger med x-knappen eller inte

 

..michael ericsson...

 

Länk till kommentar
Dela på andra webbplatser

Ett problem med att köra direkt mot databasen är om du t.ex ska skriva ut 1000 fakturor. Då kommer kontakten mellan databasen och crystal att ta mycket lång tid. Har man dock all information i rader i en tabell i ett dataset så räcker det med en SQL-körning och sen skickar man informationen till crystal. Detta kan spara väldigt mycket tid.

 

..michael ericsson...

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...