Hm – wirklich ein hässliches Thema.

 

Ok – meine Gedanken.

 

1. Spieler -> seine Termine selbst editieren -> nicht über die Tabellenstruktur machen, sondern einfach die Termine untereinander listen – und Ihn via DropDownListe (DDL) den Status setzen lassen (sperren von vergangenen Terminen berücksichtigen!)

 

Admin – da brauchste ja die Tabelle!

 

Das doofe daran ist das Layout – da er irgendwann unweigerlich nach rechts scrollen muss!

 

Aber technisch ist so was machbar!

 

Vorschlag:

- Bau Dir eine eigene DataTable mit allen Terminen drin!

- Dann das ganze über Codebehind – DataGrid OnItemDatabound zu der richtigen Anzeige verarbeiten!

- Ob Du jetzt Zahlen (1-5) oder DDL den Status setzen lässt dürfte ja egal sein.

 

Aber optisch und auch technisch wäre es sicher sinnvoller, wenn Du Deinen Auftraggeber davon überzeugst einfach den Termin / oder Spieler auszuwählen – und dann per Liste einfach die Daten rein zu hacken.

 

 


Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Christian Köhler - SitePoint
Gesendet: Mittwoch, 31. August 2005 22:49
An: [email protected]
Betreff: [Asp.net] Kreuztabellenansicht mit Editiermöglichkeit

 

Hallo Liste,

 

folgendes Problem:

 

Wir möchten eine aus 3 Tabellen zusammengesetzte Kreuztabellenstruktur in einem Datagrid darstellen und gleichzeitig die Inhalte editierbar machen.

Der Kunde verwendet im Moment ein Excelsheet in dem er die entsprechenden Daten direkt in der Tabellenansicht ändern kann und möchte diese Funktionalität auch online umgesetzt haben.

 

Da die Vorlage schwer zu erklären ist, hab ich hier einen Link zu dem Excel-Sheet: http://artischocken.sitepoint.de/Termintabelle.xls

 

Ausgehend davon haben wir auf unserem SQL-Server folgende Tabellen angelegt:

 

CREATE TABLE [dbo].[arti_spieler] (
 [id] [char] (20) COLLATE Latin1_General_CI_AS NOT NULL ,
 [name] [char] (100) COLLATE Latin1_General_CI_AS NOT NULL ,
 [vorname] [char] (100) COLLATE Latin1_General_CI_AS NOT NULL ,
 [strasse] [char] (100) COLLATE Latin1_General_CI_AS NULL ,
 [ort] [char] (100) COLLATE Latin1_General_CI_AS NULL ,
 [land] [char] (100) COLLATE Latin1_General_CI_AS NULL ,
 [telefon] [char] (100) COLLATE Latin1_General_CI_AS NULL ,
 [mobil] [char] (100) COLLATE Latin1_General_CI_AS NULL ,
 [email] [char] (255) COLLATE Latin1_General_CI_AS NOT NULL ,
 [rolle] [smallint] NOT NULL ,
 [pwd] [char] (50) COLLATE Latin1_General_CI_AS NOT NULL ,
 [notify] [smallint] NOT NULL

CREATE TABLE [dbo].[arti_termine] (
 [id] [int] IDENTITY (1, 1) NOT NULL ,
 [art] [smallint] NOT NULL ,
 [titel] [char] (100) COLLATE Latin1_General_CI_AS NOT NULL ,
 [kommentar] [text] COLLATE Latin1_General_CI_AS NULL ,
 [datum] [datetime] NOT NULL ,
 [status] [smallint] NOT NULL

CREATE TABLE [dbo].[arti_plan] (
 [id] [int] IDENTITY (1, 1) NOT NULL ,
 [idSpieler] [char] (20) COLLATE Latin1_General_CI_AS NOT NULL ,
 [idTermine] [int] NOT NULL ,
 [status] [smallint] NOT NULL ,
 [spielt] [bit] NOT NULL

 

Unser Problem ist es jetzt eine Kreuztabellenansicht ähnlich der Excel-Vorlage zu erstellen, die gleichzeitig noch folgendes leisten soll:

 

- Editierbare Statusfelder für einen bestimmten eingeloggten Spieler.

- Editierbare Statusfelder bei allen Spielern bei eingeloggtem Administrator

 

Wir bräuchten die ein oder andere Anregung um weiter zu kommen.

 

Danke im Vorraus.

 

 

Gruss,

 

Christian Köhler

 


 

Antwort per Email an