Sitter och funderar på hur jag på bästa sätt ska pressentera olika dagars chema för användaren. I databasen ligger text på varje detalj och tid. För användaren vill jag att en dag ska visas i 30 minuterintervaller och visas även om där inte finns något "inbokat". Användaren bör också kunna lägga till i chemat genom inskrivning. Någon som har tips på bra komponent?
ös upp ett datagrid med ett dataset och ett datatable som ser ut såhär:
tid syssla
08:00 gå upp
08:30 ät frikadeller
09:00 gå till jobbet
10:30 sitt av tiden
11:00
12:30 gå hem och slafa på soffan
osv osv, orkar inte riktigt skriva..
16:00 värm lite köttbullar
16:30 ta fram en gaffel
17:00 hugg en köttbulle med gaffeln
17:30 stoppa in gaffeln i truten
18:00 svälj
ja jag tror du förstår Fetto. :)
och om användaren inte vill delta i dessa aktioner så ändrar han bara i datagrid:et och eftersom Winforms dataGrid har något så fint som 2-vägsbindning så kan du spara ner alltihopa så fort han skriver något bara med en enda rad kod i Cell_Changed händelsen nämligen:
DataAdapter.Update(dataSet11.tabellnamnet);
Menne det förutsätter att du använder DataSet:s och DataAdapters ;)
Nöff, datagriden är för enkel att använda ;)
Pdahlen, tar en titt på den länken senare idag, det verkar vara något som jag hade tänkt mig. För tillfället har jag använt mig av en listView som innehåller olika andra controller så som labels textboxar etc. Detta för att kunna editera flera olika kolumner.
Ja, men jag tänkte att det kanske var något att utgå ifrån.
Gör du en bra design för själva "applikationen" och databasen så spelar det ingen roll om du sen lägger på WebForm eller WinForm som UI. ;)
Men jag kan göra en liten sökning till om du inte hittat något ännu.
1. användarna kan klicka på ett datum i kalendern och få upp den valda dagen i timmes intervaller.
2. användaren ser i datagrid:et vilken syssla som ska göras per timme.
3. användaren kan också ändra och lägga till sysslor genom att helt enkelt skriva i datagridet vad han vill göra den timmen, allt sparas efter att han tryckt return. Detta kallas 2-vägsbindning eftersom använder man dataTables och dataset:s tillsammans med winformsdatagrid så binds dom tillvarandra, vilket betyder att uppdaterar man det ena uppdateras det andra. Detta finns inte ännu i webforms datagrid 1.1 men kommer i ASP.NET2.0
Databasen ska heta "schemat" och det är SQL-server eller MSDE som gäller.
tabellen heter såhär:
CREATE TABLE tider (
ID int IDENTITY(1,1) UNIQUE NOT NULL,
tid datetime,
syssla varchar(255)
PRIMARY KEY(ID));
Och ni får också ändra connectionsträngen, sök upp
"this.sqlConnection1.ConnectionString" i Form1
private void monthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e)
{
try
{
dataGrid1.Enabled=true;
sqlDataAdapter1.SelectCommand.Parameters["@start"].Value=e.Start;
sqlDataAdapter1.SelectCommand.Parameters["@end"].Value=e.End.AddDays(1);
dataSet11.Clear();
sqlDataAdapter1.Fill(dataSet11.tider);
if(dataSet11.tider.Rows.Count==0)
{
for(int tim=0;tim<24;tim++)
{
DataSet1.tiderRow tiderRow=dataSet11.tider.NewtiderRow();
tiderRow.tid=e.Start.AddHours(tim).AddSeconds(1);
tiderRow.syssla=" ";
dataSet11.tider.AddtiderRow(tiderRow);
}
}
dataGrid1.DataSource=null; // ingenting är sparat i databasen ännu, allt är bara temporärt i datatable
dataGrid1.DataSource=dataSet11.tider;
}
catch(Exception error)
{
label1.Text=error.Message;
}
}
och
private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
{
try
{
dataSet11.tider.EndInit(); // nu sparar vi ner hela skiten på en gång.
sqlDataAdapter1.Update(dataSet11.tider);
}
catch(Exception error)
{
label1.Text=error.Message;
}
}
Detta är det enda man behöver skriva för att implementera ett litet enkelt schema, resten gör VS.NET.. Men det förutsätter att man använder typade dataSets ;)
För tillfället har jag använt mig av en listView som innehåller olika andra controller så som labels textboxar
Fetto. Får man fråga hur du lyckades få in winformscontrol:er i ListView.Items.Add() metoden?. Eller använder du Controls.Add(). Men om du använde Controls.Add(), hur håller du då reda på vilken itemindex dina grupper av kontroller är på?.
Ja, men jag tänkte att det kanske var något att utgå ifrån.
Gör du en bra design för själva "applikationen" och databasen så spelar det ingen roll om du sen lägger på WebForm eller WinForm som UI. ;)
Men jag kan göra en liten sökning till om du inte hittat något ännu.
Jo, det jag hittat är jag nöjd med för tillfället.. Får se med tiden! :) Tackar för hjälpen :bire
266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2