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

عندي كود ينسخ و عند لصق يعكس الاعمدة

الكود في المرفقات


الملفات المرفقة
.doc   Private Sub datagrid.doc (الحجم : 31 ك ب / التحميلات : 18)
الرد }}}
تم الشكر بواسطة:
#2
أستخدم هذا


كود :
Imports System.Text.RegularExpressions



كود :
  Try
            If e.Control And (e.KeyCode = Keys.C) Then
                Dim d As DataObject = DataGrid.GetClipboardContent()
                Clipboard.SetDataObject(d)
                e.Handled = True
            ElseIf (e.Control And e.KeyCode = Keys.V) Then
                Dim rowLines As String() = Clipboard.GetText(TextDataFormat.Text).Split({0}, StringSplitOptions.None)
                Dim Cell As Byte
                For Each x As Match In Regex.Matches(rowLines(0), "(\t|^).+?", RegexOptions.RightToLeft)
                    DataGrid(Cell, DataGrid.CurrentRow.Index).Value = x.Value
                    Cell += 1
                Next
            End If
        Catch ex As Exception
            'Log Exception
        End Try

يمكنك أيضا الاستغناء عن المصفوفة والتعامل مع النص المنسوخ مباشرة

كود :
  Dim Cell As Byte
                For Each x As Match In Regex.Matches(Clipboard.GetText, "(\t|^).+?", RegexOptions.RightToLeft)
                    DataGrid(Cell, DataGrid.CurrentRow.Index).Value = x.Value
                    Cell += 1
                Next
الرد }}}
تم الشكر بواسطة: سعود , ابراهيم ايبو , rochdi191
#3
(12-06-20, 07:56 PM)سامي محمد كتب : أستخدم هذا


كود :
Imports System.Text.RegularExpressions



كود :
  Try
            If e.Control And (e.KeyCode = Keys.C) Then
                Dim d As DataObject = DataGrid.GetClipboardContent()
                Clipboard.SetDataObject(d)
                e.Handled = True
            ElseIf (e.Control And e.KeyCode = Keys.V) Then
                Dim rowLines As String() = Clipboard.GetText(TextDataFormat.Text).Split({0}, StringSplitOptions.None)
                Dim Cell As Byte
                For Each x As Match In Regex.Matches(rowLines(0), "(\t|^).+?", RegexOptions.RightToLeft)
                    DataGrid(Cell, DataGrid.CurrentRow.Index).Value = x.Value
                    Cell += 1
                Next
            End If
        Catch ex As Exception
            'Log Exception
        End Try

يمكنك أيضا الاستغناء عن المصفوفة والتعامل مع النص المنسوخ مباشرة

كود :
  Dim Cell As Byte
                For Each x As Match In Regex.Matches(Clipboard.GetText, "(\t|^).+?", RegexOptions.RightToLeft)
                    DataGrid(Cell, DataGrid.CurrentRow.Index).Value = x.Value
                    Cell += 1
                Next

شكرا لك اخي لكن الكود غير شغال
الرد }}}
تم الشكر بواسطة: سعود , ابراهيم ايبو
#4
اخي الكريم صاحب السؤال ...
السؤال غير واضح والمرفق باين انه ملف وورد وانت لست بحاجة لرفع ملف ان اردت سرد كود بل مباشرة اكتب الكود.
ساعد اخوانك ليقدمو لك الحل باسرع مايمكن.
تحياتي اخي الكريم.
الرد }}}
#5
الكود شغال بدون اي مشاكل .... لكن يجب ان لا يكون المأشر اخل الخلية عند نسخ الصف او لصقه ..... انقر على المساحة التي في بداية الصف بحث تكون جميع الخلايا مظلله وبدون
.... المأشر ان كان داخل الخلية فان عملية الصق تتم داخل الخلية وليس الصف
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , rochdi191
#6
(12-06-20, 09:28 PM)سعود كتب : اخي الكريم صاحب السؤال ...
السؤال غير واضح والمرفق باين انه ملف وورد وانت لست بحاجة لرفع ملف ان اردت سرد كود بل مباشرة اكتب الكود.
ساعد اخوانك ليقدمو لك الحل باسرع مايمكن.
تحياتي اخي الكريم.

اخي سعود حاولت نسخ الكود في الرد لكن كان يتجزا لذا وضعته في ملف الورد
وهذا المشكل عند نسخ ولصق
الرد }}}
تم الشكر بواسطة:
#7
ارجوا كود نسخ ولصق datagridview
الرد }}}
تم الشكر بواسطة:
#8
(12-06-20, 10:26 PM)سامي محمد كتب : الكود شغال بدون اي مشاكل .... لكن يجب ان لا يكون المأشر اخل الخلية عند نسخ الصف او لصقه ..... انقر على المساحة التي في بداية الصف بحث تكون جميع الخلايا مظلله وبدون
.... المأشر  ان كان داخل الخلية فان عملية الصق تتم داخل الخلية وليس الصف

السلام عليكم
اخي سامي محمد جزاك الله خيرا الكود شغال
لم انتبه الى السطر الثاني عند تعديل عليه اشتغل الكود تمام
شكرا جزيلا
الرد }}}
تم الشكر بواسطة:



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


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