Du är ju kung på detta kan du hjälpa mig lite mera:) Jag har nu en knapp som man klickar på så skrivas email adresser ut från vilken man person som man har klickat i listan, men jag vill nu ha om man kryssar i flera rutor så får jag ut flera mailadresser med ; efter adressen. Så jag får ut så här i mitt text fält
nissenilsson@hotmail.com; lasse@nf.se; lisa@abc.com
Min kod för min knapp som skriver ut en mail i text fältet ser ut så här
private void ResultButton_Click(object sender, System.EventArgs e)
{
DataSet ds = LoadWebs();
Emails.Visible = true;
DataTable table = ds.Tables[0];
foreach(DataRow row in table.Rows)
{
if(Selected_Dude(row["Responsible"].ToString()))
//Response.Write(Emails.Text);
//Response.Write(row["Responsible"].ToString());
Emails.Text = (row["Email"].ToString());
}
}
RrenholmMedlem sedan apr. 20012 266 inlägg foreach(ListItem item in ResponsibleBox.Items)
{
if (item.Selected)
{
Selected_Dude();
}
}
Selected_Dude kan du ändra till det som passar dig...
Får felet
No overload for method 'Selected_Dude' takes '0' arguments
private void ResultButton_Click(object sender, System.EventArgs e)
{
DataSet ds = LoadWebs();
Emails.Visible = true;
DataTable table = ds.Tables[0];
foreach(ListItem item in ResponsibleBox.Items)
{
if (item.Selected)
{
Selected_Dude();
}
}
}
RrenholmMedlem sedan apr. 20012 266 inlägg Jag påpekade att du skulle byta ut Selected_Dude mot de du vill göra för varje person som har valts.
Hur gör jag det med kod då? Sorry att jag inte förstår
PPMedlem sedan jan. 20012 204 inlägg Byt ut Selected_Dude(); mot det du vill göra. Tex så här:
sum string;
Function selecteddude(s string){
sum+=s & ";" ;
}
sen anopar du med ngt i stilen:
if (item.Selected)
{
Selected_Dude(item.tostring());
}
Har aldrig skrivit c# så syntaxen är nog fel men metoden borde stämma :)
RrenholmMedlem sedan apr. 20012 266 inlägg item.Value kommer ge dig värdet som är förkryssat i checkboxlisten och med det värdet kan du antingen skriva ut direkt eller skicka till någon annan funktion eller liknande för att t.ex hämta email adresser eller dyl.
För mer grundläggande förståelse av asp.net och dess olika kontroller kan du läsa här:
http://samples.gotdotnet.com/quickstart/aspplus/
Hajar inte av exemplet tyvär hittar inte var jag kan läsa om det, ingen som kan hjälpa mig hur jag gör i kod bara:)? Supersnällt för det ni redan har gjort för mig:)
RrenholmMedlem sedan apr. 20012 266 inlägg Om du förklarar lite bättre hur du gör och vad du vill göra så ska det nog gå :) Har lite problem just nu att förstå exakt syftet med det vi håller på med samt hur du lagt upp det.
Just nu när jag kickar i en checkbox så skriver jag bara ut ett värde. Nu vill jag att värdet från email ska skrivas ut och det i textfäletet. När det funkar så får man ut en epost adress för den personen man har valt. Kryssar man i flera så händder det inget. VIll ha ut flera mail adersser i texte fletet med ; efter varje epost adress
Denna koden skriver ut text högst upp på sidan vill att den ska skriva ut mailadresser i textfältet i stället
private bool Selected_Dude(string dude)
{
//DataRow row in table.Rows
foreach(ListItem item in ResponsibleBox.Items)
{
if(item.Selected && item.Text == dude)
//Emails.t.Text = (item["Email"].ToString());
return true;
Response.Write("test");
//Emails.Text = (item.["Email"])
}
return false;
}
}
RrenholmMedlem sedan apr. 20012 266 inlägg Om checkboxlistens value innehåller emailadresserna är denna metod lämplig.
foreach(ListItem item in ResponsibleBox.Items)
{
if(item.Selected)
Emails.t.Text += item.Value.ToString() + ";";
}
Det funkar jätte bra men jag vill ha ut ["Email"] i stället
skrev så här förut för att få ut mailadressen:)
Emails.Text = (row["Email"].ToString());
RrenholmMedlem sedan apr. 20012 266 inlägg Enklast för att slippa hämta mer från databasen är att du binder value fältet i checkboxlisten till email adresserna och sedan text delen i checkboxlisten mot namn på personen eller liknande.
foreach(DataRow row in ds.Tables[0].Rows)
{
ListItem item = new ListItem(row["Email"], row["Responsible"]);
if (!ResponsibleBox.Item.Contains(item))
{
ResponsibleBox.Items.Add(item);
}
item = new ListItem(row["Email"], row["Contact"]);
if (!ContactBox.Item.Contains(item))
{
ContactBox.Items.Add(item);
}
}
På så sätt kan du använda koden jag angav tre inlägg upp.
(foreach(DataRow row in ds.Tables[0].Rows)) får fel att ds inte finns jag måste väll lägga till ds? Hur gör jag det?
foreach(DataRow row in ds.Tables[0].Rows)
får fel på ds att den inte finns