10. november 2005 - 11:52
Der er
17 kommentarer og 1 løsning
c# datagrid, få fat i værdi
Hej Eksperter, Jeg har et datagrid (DGrid1), og her vil jeg gerne have fat i den værdi den første kolone har (går ud fra at det er [0]), værdierne kommer fra en database igennem et dataset (ds). Hvordan er det nu lige at jeg skriver det?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
10. november 2005 - 13:13
#1
Jeg vil sammenligne værdien med en anden værdi, og derefter formattere teksten i gridet til en anden
10. november 2005 - 14:00
#2
Jeg gør følgende, men det virker ikke. Værdien 1 bliver ikke replacet med ja, således at der står Ja i datagridet i stedet for 1. Hvad gør jeg galt? DGrid1.DataBind(); foreach(DataGridItem dataGridItem in DGrid1.Items) { string indryk = dataGridItem.Cells[5].Text; if (indryk == "99") { dataGridItem.Cells[5].Text = indryk.Replace("1", "Ja"); } }
15. november 2005 - 08:35
#3
DGrid1.DataBind(); foreach(DataGridItem dataGridItem in DGrid1.Items) { string indryk = dataGridItem.Cells[5].Text; if (indryk == "99") { dataGridItem.Cells[5].Text = "Ja"; } }
15. november 2005 - 08:36
#4
prøv det for at se om du overhovedet kommer ind i et tilfælde for dataGridItem.Cells[5].Text er "99".
15. november 2005 - 08:37
#5
har dataGridItem.Cells[5].Text kun værdien 99 stående ? eller står der mere i feltet ?
16. november 2005 - 09:49
#6
Jeps, eller der kan også stå andre tal end 99, men i tilfældet af at det er 99 vil jeg gerne erstattet det. Tror du jeg skal lave en Trim() på den???
16. november 2005 - 09:50
#7
ps. jeg kommer ind i if - det er det der er så mærkeligt... Burde det betyde noget at værdierne kommer fra en db? Nej vel?
16. november 2005 - 09:52
#8
du forsøger at erstatte et 1 tak i et felt hvor der ikke står et 1 tal. derfor kommer du ind i if sætningen men der sker ikke mere end det. er det celle[5] hvor du skal skal foretage erstatningen af tegn ?
16. november 2005 - 09:58
#9
I tilfælde af at tallet i celle[5] er et andet kommer jeg ikke ind i if-sætningen.. Men ja det er i celle[5] jeg ønsker at erstatter "99" med "Ja"
16. november 2005 - 10:02
#10
burde gøre det. DGrid1.DataBind(); foreach(DataGridItem dataGridItem in DGrid1.Items) { string indryk = dataGridItem.Cells[5].Text; if (indryk == "99") { dataGridItem.Cells[5].Text = "Ja"; } }
16. november 2005 - 10:15
#11
hmmm, det hjalp ikke :( har også prøvet at rykke databind ned til efter foreach, men intet held....
16. november 2005 - 10:18
#12
hvor på din side bruger du : DGrid1.DataBind(); foreach(DataGridItem dataGridItem in DGrid1.Items) { string indryk = dataGridItem.Cells[5].Text; if (indryk == "99") { dataGridItem.Cells[5].Text = "Ja"; } } altså i hvilken en funktion kalder du det ?
16. november 2005 - 10:41
#13
Den ligger i en button_click metode, som bliver kaldt i Page_load: private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { Button_Search_Click(null, null); }
16. november 2005 - 10:44
#14
prøv lige at paste hele din kode her ind. bare for codebehind.
16. november 2005 - 11:08
#15
public class Vare : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DGrid1; private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { BT_Soeg_Click(null, null); } Page.DataBind(); } private void BT_Soeg_Click(object sender, System.EventArgs e) { try { OracleConnection oc = new OracleConnection(WebAppConfig.OracleConnStr); string sql = "select * from vare" OracleCommand ocom = new OracleCommand(sql, oc); ocom.CommandType = CommandType.Text; OracleDataAdapter oda = new OracleDataAdapter(ocom); DataSet ds = new DataSet(); oda.Fill(ds, "vare"); DG_ordre.DataSource = ds; DG_ordre.DataBind(); foreach(DataGridItem dataGridItem in DGrid1.Items) { string indryk = dataGridItem.Cells[5].Text; if (indryk == "99") { dataGridItem.Cells[5].Text = "Ja"; } } } catch (Exception ex) { System.Diagnostics.Debug.Write(ex); } } } }
16. november 2005 - 12:45
#16
prøv at fjerne Page.DataBind();
16. november 2005 - 12:58
#17
nice :-) Det gjorde tricket. Smid et svar dr_chaos, så får du de velfortjente point
16. november 2005 - 13:19
#18
svar :) godt at det lykkedes at hjælpe dig :)
Kurser inden for grundlæggende programmering