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 fra Deloitte
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