السلام عليكم و رحمة الله و بركاته
معلش يا جماعة عندي سؤال و انا حاولت اني احلة بس مش عارف مقابلني مشاكل في الكود ولا الطريقة ذات نفسها غلط
الخطوات كالآتي
أقوم بادخال بيانات في جدولين و العملية الخاصة بالادخال سهله
انما اود عند تحميل البيانات في حقول نصوص و في داتا جريد فيو
بالنسبة لحقول النصوص تمكنت من استرجاع البيانات فيها و الحمد لله
بس المشكلة في الداتا جريد فيو مش عارف ازاي استرجع الداتا فيها الخاصة بالسجل الحالي
هقولها لكم بالكود عشان يوضح الموضوع
الجدولين اسمائهم :
Receivables& ReceivablesDetails
و الرابط بين الجدولين الحقل المسمى
ReceivablesID
اود عند اختيار السجل الاول و تظهر البيانات في حقول النص تظهر في الداتا جريد البيانات الخاصة بيه و ليس كل البيانات
متوقع ان الكل هيقولي بجملة
Select & Where
صحيح ده الي انا عملته بس بيحملي في الداتاجريد كل البيانات برضه مش بيانات الحقل العادي
و اظني فكرتها زي فكرة جدولي ال
Order & OrderDetails
con.Open();
SqlDataAdapter adapReceivables = new SqlDataAdapter("Select * From Receivables", con);
adapReceivables.Fill(dsReceivables, "Receivables");
txtAccountBox.DataBindings.Add("Text", dsReceivables, "Receivables.ReceivablesAccounts");
DateTextBox.DataBindings.Add("Text", dsReceivables, "Receivables.Date");
txtNotes.DataBindings.Add("Text", dsReceivables, "Receivables.Notes");
txtCurrency.DataBindings.Add("Text", dsReceivables, "Receivables.Currency");
txtPayment.DataBindings.Add("Text", dsReceivables, "Receivables.Balance");
SqlDataAdapter adapReceivablesDetails = new SqlDataAdapter("Select Payments,AccountName,Notes From ReceivablesDetails where ReceivablesID=" + this.BindingContext[dsReceivables, "Receivables"].Position, con);
adapReceivablesDetails.Fill(dsReceivablesDetails, "ReceivablesDetails");
#region CodeCommented
SqlCmd.Connection = con;
SqlCmd.CommandText = "";
SqlDataReader dr = adapReceivablesDetails.SelectCommand.ExecuteReader();
while (dr.Read())
{
if (dsReceivablesDetails.Tables["ReceivablesDetails"].Rows.Count > 0)
{
DataRow row = dsReceivablesDetails.Tables["ReceivablesDetails"].NewRow();
row["Payments"] = dr["Payments"];
row["AccountName"] = dr["AccountName"];
row["Notes"] = dr["Notes"];
dsReceivablesDetails.Tables["ReceivablesDetails"].Rows.Add(row);
}
}
dr.Close();
#endregion
con.Close();
DGVReceivables.DataSource = dsReceivablesDetails;
DGVReceivables.DataMember = "ReceivablesDetails";
ChangePosition();مع العلم الاعمده الي بربطها في الداتاجريدفيو عاملها كود مش Wizard
و كودها
DataGridViewColumn ColPayment = new DataGridViewColumn(); DataGridViewColumn ColAccountName = new DataGridViewColumn(); DataGridViewColumn ColNotes = new DataGridViewColumn(); GridClass SetDGVSettings = new GridClass(); SetDGVSettings.SetDGVColumnsSettings(ColPayment, "Payment", "Payment", false, 75, true, 75); SetDGVSettings.SetDGVColumnsSettings(ColAccountName, "AccountName", "Account Name", false, 79, true, 79); SetDGVSettings.SetDGVColumnsSettings(ColNotes, "Notes", "Details", false, 100, true, 150); DGVReceivables.Columns.Add(ColPayment); DGVReceivables.Columns.Add(ColAccountName); DGVReceivables.Columns.Add(ColNotes);
حيث SetDGVColumnsSettings فيها
/// <summary> /// Set Datagrid Columns Settings /// </summary> /// <param name="columnName">Column Name</param> /// <param name="DataPropertyName">DataProperty Name like the Column Name in the Dataset</param> /// <param name="HeaderText">Column Text in the datagrid View</param> /// <param name="ReadOnly">For Editing of not</param> /// <param name="wdth">Width of the columns</param>
لو في اي استفسار ناقص ياريت تبلغوني
السؤال ده موقف فورمتين عندي ضروريتين