החבאת עמודה ב DataSet

Zeliran

New member
החבאת עמודה ב DataSet

אני מנסה שעמודה מסוימת ב DataSet תהיה בלתי נראית, אז אני משתמש בקוד הבא:
ds.Tables["Users"].Columns["id"].ColumnMapping = MappingType.Hidden; usrs.DataSource = ds.Tables["Users"]; usrs.DataBind();​
אבל ב DataGrid אני עדיין יכול לראות את העמודה... מה לא בסדר בקוד?
 
פשוט מאוד

תסתכל התגובה שלי לשנאפסי כאן ושים את השורה הזו:
dataGrid1.TableStyles["Test"].GridColumnStyles.Remove(dataGrid1.TableStyles["Test"].GridColumnStyles["ID"]);​
במקום שתי אלו:
dataGrid1.TableStyles["Test"].GridColumnStyles["ID"].NullText = "|Please Enter ID|"; dataGrid1.TableStyles["Test"].GridColumnStyles["ID"].Width = 200;​
 

Zeliran

New member
תודה, למרות שבסופו של דבר

עשיתי משהו שונה
תודה בכל זאת
 

Zeliran

New member
מממ...

בסופו של דבר החלטתי לא להסתיר אותו אלא להפוך אותו כך שלא תפתח לו textBox במצב editItem, וגם מצאתי דרך נוספת לשנות את האורך של תיבות את textBox ככה שהסתדרתי כבר לגמרי..
 

Zeliran

New member
עוד בעיה...

אני מנסה לקבל את הטקסט שיש ב TextBox (לאחר כניסה ך edit datagrid..) ע"י השורה:
((TextBox)e.Item.Cells[3].Controls[1]).Text​
אבל אני בעצם מקבל את הטקסט שהיה בתא לפני שפתחתי את ה textBox ושינתי אותו... איך אני יכול להגיע לטקסט שיש ב TextBox? (אחרי ששינתי אותו..) אני מקווה שהייתי ברור מספיק..
 
לא מספיק ברור

באיזה Event אתה מטפל? (אתה משתמש ב-e אז אני מניח שזה איזשהו EventHandler). בכל אופן ל-DataGrid יש אינדקסר שמקבל Cell או קורדינאטות ומחזיר ערך.
 

Zeliran

New member
אז ככה..

יש לי עמודה של edit שברגע שלוחצים עליה אז האינדקס של Edit משתנה.. ואז אני יכול לערוך את הנתונים שבשורה... אז השאלה שלי איך אני יכול לקבל את הנתונים שיש ב textBox'ים אחרי ששינתי אותם?
 

Zeliran

New member
*הוספה

בקוד שנתנתי מקודם אני מצליח לקבל את הערך של ה textBox לפני ששינתי אותו.. כאשר אני מנסה לקבל אותו נדמה לי שהערך של ה textBox מתאפס וחוזר לקודם או משהו.. ובגלל זה אני לא יכול לעשות Update...
 

Zeliran

New member
../images/Emo41.gifשאלה

אני משתמש בקוד הבא כדי להוסיף נתונים לפקודת ה update, אני אמור להוסיף את הנתונים בלולאה, אבל הפקודת update נשארת אותו הדבר (כלומר סיסמא = '@Pas') מה לא בסדר כאן?
string updateCmd = "UPDATE Users SET שם_משתמש = @Usr, סיסמא = @Pas WHERE id = @Id"; OleDbCommand com = new OleDbCommand(updateCmd, con); com.Parameters.Add(new OleDbParameter("@Id", OleDbType.VarChar, 11)); com.Parameters.Add(new OleDbParameter("@Usr", OleDbType.VarChar,11)); com.Parameters.Add(new OleDbParameter("@Pas", OleDbType.VarChar,11)); com.Parameters["@Id"].Value = ((Label)e.Item.Cells[2].Controls[1]).Text; string[] cols = {"@Id","@Usr","@Pas"}; int numCols = e.Item.Cells.Count; for (int i=3; i<numCols-1; i++) { string colvalue =((TextBox)e.Item.Cells.Controls[1]).Text; com.Parameters[cols[i-1]].Value = colvalue; }
 
למעלה