[ASP.NET 1.1] bijzonder zoeken in een datagrid

Pagina: 1
Acties:

  • Mesjefskie
  • Registratie: Augustus 2004
  • Laatst online: 23-09 17:38

Mesjefskie

If it works, it's true!

Topicstarter
Hallo,

Excuses voor de vage titel; ik kon het niet echt gemakkelijk samenvatten. Ik 'zit' met het volgende;
Via een intranet kunnen gebruikers informatie uit een database bekijken. Deze informatie zijn de logfiles van een FTP server die files ophaalt en in SAP (ons boekhoud programma) 'schiet'. Nu krijgen gebruikers een tabel met 5000 records voorgeschoteld (verdeeld over 10 pagina's) waarin ze op zoek kunnen gaan of een bestandje wel of niet in SAP is gekomen en wat er daarna verder mee is gebeurd...

Ik had de toch wel geniale ingeving om aan deze pagina een zoekfunctie toe te voegen :+ . De uitdaging is nu dat als gebruikers zoeken op een filenaam (bijv. F1_0000001234) niet alleen records met F1_0000001234 terug moeten krijgen maar ook alle, zeg 15 records ervoor en erna... Ik ben al wel aan het knutselen geweest (selected index zetten op de regel waar de gezochte string in voorkomt) maar ik begin me af te vragen of het uberhaupt mogelijk in ASP.net/C# (versie 1)? Iemand ideeën, suggesties?

Thomas

  • lier
  • Registratie: Januari 2004
  • Laatst online: 16:39

lier

MikroTik nerd

Volgens mij kan je dat het beste doen in je DBMS, ik verwacht dat de standaard filter functies niet toereikend zijn hiervoor.

Eerst het probleem, dan de oplossing


  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 25-11 14:52
Waarom doe je niet gewoon het volgende (pseudo code)

select * from tabelnaam where datum > DateAdd(day, -15, (select datum from tabelnaam where filenaam = 'F1_0000001234')) And datum < DateAdd(day, 15, (select datum from tabelnaam where filenaam = 'F1_0000001234')) Order by datum

  • Mesjefskie
  • Registratie: Augustus 2004
  • Laatst online: 23-09 17:38

Mesjefskie

If it works, it's true!

Topicstarter
UniCache2 schreef op donderdag 18 januari 2007 @ 13:53:
Waarom doe je niet gewoon het volgende (pseudo code)

select * from tabelnaam where datum > DateAdd(day, -15, (select datum from tabelnaam where filenaam = 'F1_0000001234')) And datum < DateAdd(day, 15, (select datum from tabelnaam where filenaam = 'F1_0000001234')) Order by datum
Omdat, waar je bijna achteloos het woordje 'gewoon' in je reply gebruikt, ik tot voor 2 minuten geleden hier zelfs nog nooit aan had gedacht... _/-\o_

Ga 't meteen proberen... Thanks!

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 25-11 14:52
Haha, soms zijn dingen simpeler dan je denkt, succes!

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Hoe heb je het opgelost? :) Je kan ook eea inlezen in een datatable en deze cachen, met een cachedependency op die folder :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Mesjefskie
  • Registratie: Augustus 2004
  • Laatst online: 23-09 17:38

Mesjefskie

If it works, it's true!

Topicstarter
Opgelost mbv de tip/suggestie/eye-opener van UniCache2:


SQL:
1
2
3
4
5
6
7
8
9
10
11
SELECT     Date, Time, Action, ID
FROM         [FTP Events]
WHERE     (ID >=
                          (SELECT     TOP 1 ID
                            FROM          [FTP Events] AS [FTP Events_1]
                            WHERE      (Action LIKE '%14001%')
                            ORDER BY ID DESC) - 20) AND (ID <=
                          (SELECT     TOP 1 ID
                            FROM          [FTP Events] AS [FTP Events_1]
                            WHERE      (Action LIKE '%14001%')
                            ORDER BY ID DESC) + 20)


In de asp.net code lees ik dan bij LIKE de inhoud van een textboxje uit... 't Is jammer van de query naar de DB terwijl ik alles al in een asp DataSet heb staan maar de db server staat hier lokaal...

  • cowgirl
  • Registratie: November 2000
  • Laatst online: 17-12-2020
Als je de data al lokaal hebt, kan je dan niet een nieuwe view maken op die data, met dezelfde selectie als hierboven, en dan je grid opnieuw binden aan de view?
Pagina: 1