الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن ال DataGrid

مغلق
بدأه صلاح الثبيتي في 15 يوليو 2005 · 8 رد · 806 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :)

أستخدم DataGrid بالبرنامج و فيها معلومات تظهر من DataTable..

المطلوب.. اذا ضغطت على Row معين .. يقوم البرنامج بإظهار البيانات الخاصه بهذا الـ Row بـ Text Boxes !!

الكود الوحيد اللي كتبته:

this.dataGrid1.CurrentCell.RowNumber.ToString()

و هذا لمعرفة رقم الـ Row!! و ما عرفت كيف أخذ الـ Items الموجوده بالـ Row !!!

هل من مساعد؟

#2

عليكم السلام

هل ينفع

e = DataGrid1.Columns("الاسم")
Text1.Text = e

460.gif

#3

أخي الكريم صلاح ،،،

هذا المطلوب فقط

dataGrid1[dataGrid1.CurrentCell.RowNumber,dataGrid1.CurrentCell.ColumnNumber];
#4
li8o كتب:
أخي الكريم صلاح ،،،

      هذا المطلوب فقط

dataGrid1[dataGrid1.CurrentCell.RowNumber,dataGrid1.CurrentCell.ColumnNumber];

مشكور جداً

لكن مشكله اخيره.. كيف اعرف عدد الاعمده؟؟ لعرض جميع المعلومات الموجوده بالـ Row ؟؟

#5

خد اللينكة دى ممكن تفيدك بخصوص الداتا جريد

http://www.devage.com/SourceGrid/SourceGrid2_EN.html

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#6

اعذرني أخي صلاح ، لم افهم قصدك بالضبط ،،،

ولكن ، بالنسبة لو أردت معرفة عددت الأعمدة ، طبعا قمت انت بإستخدام DataTable ، صح ..

إذن من DataTable نفسها تستطيع معرفة عدد الأعمدة ،

//dt name of DataTalble Object
dt.Columns.Count;

ولكن اعتقد انك تقصد آمر آخر والله أعلم ... على العموم انا والشباب جاهزين بإذن الله

#7

السلام عليكم و رحمة الله ،

        grdOrders.Select(grdOrders.CurrentCell.RowNumber);

private void PopulateForm()
	{

        SqlConnection cnSQL;

        SqlCommand cmSQL;

        SqlDataReader drSQL;

        string strSQL;

        ListItem objListItem;

        string strID;

        try 
  {

            // Get Primary Key from Listbox
            objListItem = (ListItem) lstProducts.SelectedItem;

            // Build Select statement to query product information from the products
            // table 

            strSQL = "SELECT ProductID, " + 

                     "       ProductName, " +

                     "       QuantityPerUnit, " +

                     "       UnitPrice, " + 

                     "       UnitsInStock, " + 

                     "       UnitsOnOrder, " + 

                     "       ReorderLevel, " + 

                     "       Discontinued, " + 

                     "       SupplierID, " + 

                     "       CategoryID " + 

                     "FROM Products " + 

                     "WHERE ProductID = " + objListItem.ID;

            cnSQL = new SqlConnection(Connectionstring);
            cnSQL.Open();
            cmSQL = new SqlCommand(strSQL, cnSQL);
            drSQL = cmSQL.ExecuteReader();

            if (drSQL.Read())
 	 {
                // Populate form with the data

                txtProductID.Text = drSQL["ProductID"].ToString();

                txtProductName.Text = drSQL["ProductName"].ToString();

                txtQtyPerUnit.Text = drSQL["QuantityPerUnit"].ToString();

                txtUnitPrice.Text = drSQL["UnitPrice"].ToString();

                txtUnitsInStock.Text = drSQL["UnitsInStock"].ToString();

                txtUnitsOnOrder.Text = drSQL["UnitsOnOrder"].ToString();

                txtReorderLevel.Text = drSQL["ReorderLevel"].ToString();

                chkDiscontinued.Checked = (bool) drSQL["Discontinued"];

                strID = drSQL["SupplierID"].ToString();

                FindItemByID(cbSuppliers, strID);

                strID = drSQL["CategoryID"].ToString();

                FindItemByID(cbCategories, strID);

            }

            // Close and Clean up objects

            drSQL.Close();
            cnSQL.Close();
            cmSQL.Dispose();
            cnSQL.Dispose();

       } 
  catch(SqlException e)
  {
            MessageBox.Show(e.Message,  "SQL Error");

       } 
  catch(Exception e)
  {
            MessageBox.Show(e.Message, "General Error");
        }

    }
#8

اخي لكي تستطيع تحديد الخلية استخدم هذا الكود

e.Item.Cell[5].Control[0];

حيث ان الرقم 5 هو رقم الخلية التي تريد عمل اب ديت لها

و بالنسبه لتحديد الrow

عليك استخدام DataKeyField في الDataGrid

ليكون productID مثلا

ثم استرجاعه عن طريق

ProductID = (int)dgrdProducts.DataKeys[e.Item.ItemIndex];

'و ده طبعا كله بيحصل عن طريق

EditCommandColumn

#9
li8o كتب:
اعذرني أخي صلاح ، لم افهم قصدك بالضبط ،،،

ولكن ، بالنسبة لو أردت معرفة عددت الأعمدة  ، طبعا قمت انت بإستخدام DataTable ، صح ..

إذن من DataTable نفسها تستطيع معرفة عدد الأعمدة ،

//dt name of DataTalble Object
dt.Columns.Count;

ولكن اعتقد انك تقصد آمر آخر والله أعلم ... على العموم انا والشباب جاهزين بإذن الله

مشكور جداً .. هذا هو المطلوب :)

و اشكر جميع الشباب اللي ردوا على الموضوع :)

هذا الموضوع مغلق.

مواضيع مشابهة