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

كيف أقوم بوضع النتائج بالخط المائل

بدأه عبد الملك بكار في 2 فبراير 2013 · 5 رد · 503 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي TextBox للبحث وGridView للنتائج وأريد بعد ظهور النتائج في الGridView أن تكون الجملة المشابهة تمام للTextBox بالخط المائل

مثلا وضعت في مربع البحث اسم "محمد" فظهرت لي الكثير من النتائج منها مثلا "محمد العمر" أريد ان يكون "محمد" بالخط المائل وال"العمر" بالخط العادي

طبعا حاولت باستخدام الحدث GridView1_RowDataBound لكني لم أعرف كيف استخرج الاسم محمد من الكلام ووضعه بالخط المائل

أجيبوني جزاكم الله خيرا

#2

السلام عليكم ورحمه الله وبركاته

 

افترض انك استخرجت النص المراد البحث فيه ووضعته في متغير, فما عليك الا استبدال النص بالنص مضافاً اليه الوسم <Ul> وهذا الرابط يوضح الفكره ..

.:: Wish to become better and better ::.

#3

في قاعد البيانات تكون اسرع

قد بفيد هذا الكود

alter PROCEDURE aa
 @sOldVal nvarchar(50)
AS
BEGIN
declare @sNewVal nvarchar(1000)='<span style="font-weight: bold; background-color: #FFFF00;">'+@sOldVal+'</span>'
SELECT [pnCitizenCode]
      ,REPLACE([Full_Name],@sOldVal,@sNewVal)
  FROM [dbo].[pCitizen]
WHERE [Full_Name] LIKE '%'+@sOldVal+'%'

END
GO

تم تعديل هذه المشاركة بواسطة KARIMSOFT في 3 فبراير 2013 في 04:59

#4

السلام عليكم

جزاكم الله خيرا

ولكن هنا المشكلة انا اعلم كيف استخرج النص لكن لا أعلم كيف استخرج منه الاسم واجعل الاسم فقط بالخط المائل

ولن ينجح معي حلك أخي Karim لأنني أستخدم قاعدة بيانات Access جزاكم الله خيرا

#5

السلام عليكم ..

  1. الدالة Replace  متاحة في الـــ Access Engine   .. و غير متاحة في الـــ jet Engine  .. أي أنها تعمل في الاستعلامات التي يتم تنفيذها داخل تطبيق الأكسس ..رابط .
  2. ببساطة يمكن عمل الـــ Replace  من الـــ #C  سواء في عمود جديد أو نفس العمود .
  3. public DataTable SearchByNameItalic(string Name)
        {
            OleDbCommand cmd = new OleDbCommand();
            
            cmd.CommandText = "Select *  From MyTable Where (PersonName Like @LikeName) ";
            cmd.Parameters.AddWithValue("@LikeName", "%" +Name + "%");
            cmd.Connection = conA;
            conA.Open();
            OleDbDataReader rd = cmd.ExecuteReader();
            DataTable dataTable = new DataTable();
            dataTable.Load(rd);
            dataTable.Columns.Add("ItalicName"  , typeof(String));
            
            foreach(DataRow row in dataTable.Rows)
            {
                if (row["PersonName"] != DBNull.Value)
                 row["ItalicName"] = ((string)row["PersonName"]).Replace(Name, "<span style=\"font-weight: bold; background-color: #FFFF00;\">" + Name + "</span>");
            }
            return dataTable;
        }

     

  4. يجب ان يكون العمود Template  حتى لا يظهر التنسيق كما كنص عادي , (يتم تحويل الرموز <  و >  إلى <  و >) . الكود :

    <asp:GridView ID="GridView1" runat="server">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Bind("ItalicName") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

     

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#6

جزاك الله كل خير أخ حسام :)

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