הצגת עמודה ב- DataGridView

../images/Emo44.gifהצגת עמודה ב- DataGridView

שלום חברים. יש ברשותי טבלה בשם Categories המכילה 2 עמודות: ID, CategoryName. יצרתי טופס בו הצבתי פקד DataGridView. יצרתי קוד לאירוע Load של טופס זה בו אני יוצר קישור לבסיס הנתונים. ומציג את הטבלה בפקד DataGridView. אך הקוד שלהלן מציג את 2 העמודות בפקד כאשר ברצוני להציג רק את עמודת CategoryName. הייתי רוצה לדעת כיצד לשנות את השורה הזו:
dgvCategories.DataSource = DSCategories.Tables["Categories"].DefaultView;​
כך שהפקד יציג רק עמודה אחת (העמודה המבוקשת). תודה לכל העוזרים. מצרף את הקוד המלא (אולי הטעות היא במקום אחר?), וכן תמונה להמחשה:
private void frmCategoriesManagement_Load(object sender, EventArgs e) { //Selecting "Categories" table string sSQL = "SELECT * FROM dbo.Categories"; //Create an instance of an Connection object string sConnection = "Integrated Security=SSPI;" + "Persist Security Info=False;" + "Initial Catalog=BalanceSheetDB;" + "Data Source=localhost\\SQLEXPRESS"; SqlConnection objConnection = new SqlConnection(sConnection); //Open the Connection try { objConnection.Open(); } catch (System.Exception ex) { Console.Write(ex); } //Create an instance of an DataAdapter object SqlDataAdapter objDataAdapter = new SqlDataAdapter(sSQL, objConnection); //Create an instance of an DataSet object DataSet DSCategories = new DataSet(); //Fill the DataSet object with Data objDataAdapter.Fill(DSCategories, "Categories"); //Show Categories in "Categories" DataGrid dgvCategories.DataSource = DSCategories.Tables["Categories"].DefaultView; }​
 

aaronc76

New member
משהו כזה

//Show Categories in "Categories" DataGrid dgvCategories.DataSource = DSCategories.Tables["Categories"].Columns["CategoryName"].DefaultView;​
אולי בלי ה DefaultView
//Show Categories in "Categories" DataGrid dgvCategories.DataSource = DSCategories.Tables["Categories"].Columns["CategoryName"];​
אני לא בטוח מה תפקידו שם. דווח איך הלך....
 
דיווח. ../images/Emo15.gif

כשהחלפתי את השורה הנוגעת ל- DataGrid. בשורות שהצגת כאן - הוא הופיע ריק מנתונים בעת הרצתו.
 

24sharon

New member
ואיפה הקוד של הגריד...

שינוי קטן שם ינפיק את התוצאה המבוקשת
. שבוע טוב,
 
מופיע בתחילת השרשור.../images/Emo98.gif

הנה:
dgvCategories.DataSource = DSCategories.Tables["Categories"].DefaultView;​
 

24sharon

New member
לא! את קוד הASPX

של ה dgvCategories. בכל אופן הדרך הפשוטה ביותר, היא לא לתת אפשרות של כל העמודות אלא לכתוב את העמודות שרוצים.
 
../images/Emo52.gif

סליחה. שכחתי לציין בתחילת השרשור , שאני משתמש ב- Winform. ולא ב - Webform.
 
SOMEBODY../images/Emo35.gif

האם ישנה דרך אחרת פשוטה יותר, מאשר ליצור DataTable, ו DataView.
 
SOMEBODY../images/Emo35.gif

האם ישנה דרך אחרת פשוטה יותר,מאשר ליצור DataTable, ו DataView.
 

rnan

New member
בבקשה

http://samples.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/datagrid/doc_datagrid.aspx תחפש שם HIDING COLUMN , זה בדף הזה כבר אבל יותר למטה יש שם ב 3 שפות תויכנות איך אתה יכול לבטל לו VISIBLITYץ JOHN LENNON
 

rnan

New member
יש לי פיתרון גבר

השאילתה שלך לוקחת את כל השדות ע"י כוכבית select * from lalala אני מציע שתשנה את השדות שאתה שולף סלקטיבית כלומר select guitar , drums , organ , harmonic from shop ואז ה ID לא נכלל בטבלה שתמלא
 
המצב שלי רק מתדרדר.

ניסיתי את העזרה המוצעת פה - ללא הועיל. ניסיתי לקרוא את ההסברים בספר ADO.NET לא עזר.בנתיים הגעתי למצב כזה:
private void frmCategoriesManagement_Load(object sender, EventArgs e) { string sConnection = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BalanceSheetDB;Data Source=YOSSI"; string sSQL = "SELECT * FROM Categories"; DataSet ds = new DataSet(); SqlConnection objConnection = new SqlConnection(sConnection); objConnection.Open(); SqlDataAdapter da = new SqlDataAdapter(sSQL, objConnection); da.Fill(ds); DataTable dtCategories = new DataTable(); DataColumn dcCategoryName = new DataColumn();​
כפי שניתן לראות אני "צייתן". אמרו לבנות DataSet - בניתי. לבנות DataAdapter - גם כן בניתי. למלא את ה- DataSet בעזרת DataAdapter - בצעתי. ליצור DataTable ו DataColumn (אני מעוניין להציג עמודה אחת מתוך טבלת קטגוריות להזכירכם) - יצרתי. אך מה עכשיו? בשביל מה אני יוצר DataTable ו DataColumn אם ה- DataSet מתמלא אוטומטית מטבלאות המצויות בבסיס הנתונים? ואם בכל זאת צריך לבנות אותם. כיצד אני ממלא את ה - DataTable וה- DataColumn בנתונים מתוך הבסיס נתונים? מודה מאוד מאוד לעזרתכם (אשמח לראות דוגמאות).
 
למעלה