تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة فى تحديث حقل اداة DataGridView
#1
السلام عليكم

واجهت مشكلة غريبة بعض الشئ مش عارف انا كاتب الكود غلط ولا منين المشكلة

سمى الله اولا

المشروع تبعى نسخة طبق الاصل من هذه الصورة

ولكن مع تغير الاسامى فقط




مشكلة المشروع هى

المفروض انى اكتب الكمية المراد بيعها ثم اضغط على زر بيع

وبعد ضغط زر بيع

يتم الاتى

زيادة الكمية الى اتباعت على الكمية المباعة
نقص الكمية الى اتباعت من الكمية المتبقية

حاولت بالطريقة العادية الى دايما بستخدمها

soldcount += tosale
remain -= tosale

ولكن لم تنفع ولا اعرف السبب

وهذا رابط تحميل المشروع للتعديل عليه

http://up.dev-point.com/download264781.html

وهذا الكود كامل الخاص بزر البيع

لم يريد تعديل الكود فقط بدون ان يرى المشروع

Private Sub d_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles d.CellClick
If e.ColumnIndex = 8 Then
cmdb = New OleDb.OleDbCommandBuilder(da)
Dim founded As String = d.Rows(e.RowIndex).Cells("founded").Value '"الكمية الموجودة"
Dim soldcount As String = d.Rows(e.RowIndex).Cells("soldcount").Value '"الكمية المباعة"
Dim remain As String = d.Rows(e.RowIndex).Cells("remain").Value '"الكمية المتبقية"
Dim tosale As String = d.Rows(e.RowIndex).Cells("tosold").Value '"الكمية المطلوب بيعها"
Dim price As Integer = d.Rows(e.RowIndex).Cells("price").Value '"السعر"
If IsNothing(tosale) Then MsgBox("يجب كتابة قيمة في الكمية المراد بيعها قبل النقر هنا", MsgBoxStyle.Critical, "") : Exit Sub
founded += tosale
dt.Rows(e.RowIndex).Item("founded") = founded
soldcount += tosale
remain -= tosale
dt.Rows(e.RowIndex).Item("soldcount") = soldcount
dt.Rows(e.RowIndex).Item("remain") = remain
Dim pricesale As String = "اجمالى السعر = " & tosale * price
MsgBox("العدد = " & tosale & nl & "سعر القطعة = " & price & nl & pricesale)
da.Update(dt)
Form1_Load(Nothing, Nothing)
End If
End Sub
الرد }}}}
تم الشكر بواسطة:
#2
حاول تستخدم Integer.Parse مع totalSale و تحولها لرقم و نفس الشي مع founded و بعد كده تقدر ترجعهم إلي  String  بسهولة
الرد }}}}
#3
(09-04-16, 04:35 AM)silverlight كتب : حاول تستخدم Integer.Parse مع totalSale و تحولها لرقم و نفس الشي مع founded و بعد كده تقدر ترجعهم إلي  String  بسهولة

ممكن الطريقة يا غالى

لانى اول مرة اتعامل مع القواعد
الرد }}}}
تم الشكر بواسطة:
#4
PHP كود :
   Private Function ParseInteger(stringToParse As String) As Integer
        Return ParseInteger
(stringToParseFalse)
 
   End Function

 
   Private Function ParseInteger(stringToParse As StringthrowException As Boolean) As Integer
        Dim result 
As Integer 0
        If throwException Then
            result 
Integer.Parse(stringToParseGlobalization.NumberStyles.AnyGlobalization.CultureInfo.InvariantCulture)
 
       Else
            If Not Integer
.TryParse(stringToParseGlobalization.NumberStyles.AnyGlobalization.CultureInfo.InvariantCultureresultThen
                Integer
.TryParse(stringToParseGlobalization.NumberStyles.AnyGlobalization.CultureInfo.CurrentCultureresult)
 
           End If
 
       End If

 
       Return result
    End 
Function 

اعمل مثال صغير لنفسك و الموضوع سوف يتضح لك فقط عليك ان تمرر قيمة String الذي هو في الاصل علي هيئة رقم الي الدالة الأولي
الرد }}}}
تم الشكر بواسطة: الماجيك مسعد , hassan , hassan , Amir_alzubidy
#5
جربت يا غالى

ولم تنفع او انى استخدمتها غلط

استخدمتها كدا

dt.Rows(e.RowIndex).Item("soldcount") = ParseInteger(soldcount)

شكرا لكم جميعا

وجدت الحل باستخدم هذا الكود

Dim x As Integer = Val(soldcount) + Val(tosale)
dt.Rows(e.RowIndex).Item("soldcount") = x

ولكن كنت اتمنى ان اعرف ما هو سبب الخطأ فى الكود القديم
الرد }}}}
تم الشكر بواسطة:
#6
هذا مثال صغير لتوضيح الفكرة

PHP كود :
Dim totalValue As String "20"
 
       Dim founded As String "10"

 
       Dim total As Integer ParseInteger(totalValue)
 
       Dim foundedValue As Integer ParseInteger(founded)

 
       total += foundedValue
        Label1
.Text total 


في حالتك هنا أنت تستخدم المدخلات بشكل مباشر من الداتجريدفيو والمدخلات هنا في الداتجريد فيو يتم معاملتاه علي انها Object
حاول تمرر المدخلات علي هيئة  Tostring
الرد }}}}
تم الشكر بواسطة: الماجيك مسعد , hassan
#7
تمام يا غالى شكرا لك على توضيح سبب المشكلة
الرد }}}}
تم الشكر بواسطة:
#8
عذرا أخي لدي اعتراض على الطريقة أو الأسلوب، لماذا تنتهجون الطرق الطويلة في التفكير؟ لماذا تصعبون الأمور؟
لنفترض أن لديك 1000 صنف في الجدول كيف ستنفذ عملية البيع؟
الرد }}}}
تم الشكر بواسطة: سعود , الماجيك مسعد , hassan , Amir_alzubidy
#9
(09-04-16, 08:58 AM)khodor1985 كتب : عذرا أخي لدي اعتراض على الطريقة أو الأسلوب، لماذا تنتهجون الطرق الطويلة في التفكير؟ لماذا تصعبون الأمور؟
لنفترض أن لديك 1000 صنف في الجدول كيف ستنفذ عملية البيع؟

ان كنت تقصد المثال الذي صممته فكما يقولون "الحاجة ام الاختراع" فلو جربت العدد الكبير فبلا شك سافكر بطريقة اسهل لكن الامر لم يتعدى  سوى فكرة سريعة والرغبة في تطبيقها.


المرجو المساعدة بفكرة افضل.
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة: الماجيك مسعد , hassan
#10
الأخ الفاضل khodor

مع علاقة موضوع السؤال ب تساؤلك عن كيفية قراءة بيانات كثيرة لأني لست متابعا للأمر من بدايته
الرد }}}}
تم الشكر بواسطة: الماجيك مسعد , hassan


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  حل مشكلة الكود الاتي - سهل- CLARO 3 71 02-12-16, 04:06 PM
آخر رد: ali.alfoly
  كيف يتم حل مشكلة ظهور رسالة عند الضغط علي هيد داتا جريد فيو السيد الجوهري 4 49 30-11-16, 10:08 PM
آخر رد: السيد الجوهري
  [VB.NET] مشكلة عند عمل تحديث للبيانات Asmaa adel 3 68 27-11-16, 03:56 PM
آخر رد: Adrees
Rainbow [VB.NET] مشكلة طابعة الباركود محمد اسماعيل 3 262 27-11-16, 10:30 AM
آخر رد: adel27
  [سؤال] اداة Geckowebbroser التي موجود في لغة vb.net عبدالرحمن المكاوي 0 47 24-11-16, 03:54 PM
آخر رد: عبدالرحمن المكاوي
  [SQL] مشكلة عند الاتصال بالسيكوال سيرفر تظهر الرسالة التالية Asmaa adel 8 178 21-11-16, 11:58 PM
آخر رد: Asmaa adel
  [سؤال] مشكلة في إعادة تنفيذ البرنامج wael khlak 1 51 21-11-16, 11:48 PM
آخر رد: السرور
  التعديل علي datagridview باستخدام sql command dark1459 6 130 21-11-16, 11:55 AM
آخر رد: dark1459
  [VB.NET] DataGridView بطيء جدا ساعدوني لاجد حل dubai.eig 4 135 20-11-16, 09:22 PM
آخر رد: ابو ليلى
  اضافة عمود من نوع image ل bound datagridview noway 1 68 17-11-16, 12:08 PM
آخر رد: Genius Live

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم