بخصوص السؤال الاول المقصود بها تفعيل وتعطيل كما فى الصورة
التفعيل يعنى يوجد سطر فارغ دائماً بنهايا اخر سطر يحتوى على بيانات
بخصوص امر البحث اليك امر من اثنين أما عن طريق عمل استعلام
ومن ثم جلب قيم الاستعلام وارسالها الى الداتا جريد ومن ثم تنفيذ الكود كما تم شرحه بالسابق
أو انك تستخدم كود Filter من خلال الكود كالتالى
فى حدث TextBox1_TextChanged الخاص بـ TextBox بحيث عند الكتابة يتم تنفيذ الكود
أو يمكن ايضاً فى حدث Button1_Click الخاص بالزر لتجنب اى خطاء
تقوم بتنفيذ هذا الكود
كود :
DataView getFilter = new DataView(dt);
getFilter.RowFilter = "name = '" + textBox1.Text + "'";
dataGridView1.DataSource = getFilter;
حيث ان DT هو DataTable اللى تم ارسالها للداتا جريد مسبقاً
واذا كنت تستخدم
DS والمقصود
DataSet فقط استبدل dt بـ
كود :
ds.Tables("nametable")
الان فى السطر الثانى تجد كلمة Name فقط استبدل هذه الكلمة
باسم العمود المطلوب البحث به عن الاسم طبعاً يمكنك جعل الكود بهذا الشكل
كود :
getFilter.RowFilter = "name Like '%" + textBox1.Text + "%'";
وبكده انت قمت بعمل البحث / فلتر على البيانات عن الاسم المطلوب
بخصوص السؤال الثالث وانه يجمع الكل ما عدا السطر الاخير
فقط لكونك تستخدم الكود الاخير والذى يحتوى على -1
وبما ان فى الصورة موضح انك معطل الاضافة اليدوية كما تم الشرح فى السؤال الاول
فكل ما عليك ان تقوم بحذف هذا الجزء بالكود وهو -1 ليصبح الكود بهذا الشكل
كود :
Int32 H = 0;
Int32 M = 0;
Int32 S = 0;
for (int ii = 0; ii < dataGridView1.RowCount; ii++)
{
TimeSpan ts = TimeSpan.Parse(dataGridView1.Rows[ii].Cells[0].Value.ToString());
H += Convert.ToInt32(ts.Hours);
M += Convert.ToInt32(ts.Minutes);
S += Convert.ToInt32(ts.Seconds);
}
textBox1.Text = H.ToString("00") + ":" + M.ToString("00") + ":" + S.ToString("00");
أو يمكنك ان تكتفى باستخدام هذا الكود
كود :
Int32 H = 0;
Int32 M = 0;
Int32 S = 0;
foreach (DataGridViewRow GetTotal in dataGridView1.Rows)
{
if (GetTotal.Cells[0].Value != null)
{
TimeSpan ts = TimeSpan.Parse(GetTotal.Cells[0].Value.ToString());
H += Convert.ToInt32(ts.Hours);
M += Convert.ToInt32(ts.Minutes);
S += Convert.ToInt32(ts.Seconds);
}
}
textBox1.Text = H.ToString("00") + ":" + M.ToString("00") + ":" + S.ToString("00");
كده تم الانتهاء الاجابة على 3 اسئلة الخاصة بك
واتمنى ان تكون الصورة كاملة معك وان يكون الشرح بسيط
تحياتى لك
وتمنياتى لك التوفيق