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

ارجو المساعدة لاظهار بيانات بحث في GridViewوطباعتها

بدأه هيموووو في 15 ديسمبر 2010 · 14 رد · 950 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

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

هل المشكلة في الاستعلام او ماذا ؟ وماهي طريقة طباعتها؟

وهذا كود الصفحة



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<style type="text/css">



.style1
{
width: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<table class="style1" dir="rtl">
<tr>
<td style="text-align: center">
<asp:Label ID="Label1" runat="server"
style="color: #0000CC; text-align: center; font-weight: 700; font-size: large"></asp:Label>
</td>
</tr>
<tr>
<td style="font-weight: 700; color: #0000CC">
للبحث عن عقار</td>
</tr>
<tr>
<td>
<asp:SqlDataSource ID="ds" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Property_Type, Schema_Name, Part_Number, Plot, Price, City_Property, Picture_Property, Property_ID FROM Property WHERE (State_Property = @State_Property) OR (Schema_Name = @Schema_Name) OR (Part_Number = @Part_Number) OR (Property_Type = @Property_Type) OR (City_Property = @City_Property)">
<SelectParameters>
<asp:Parameter DefaultValue="معروض" Name="State_Property" Type="String" />
<asp:ControlParameter ControlID="name" Name="Schema_Name" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="number" Name="Part_Number" PropertyName="Text"
Type="Int32" />
<asp:ControlParameter ControlID="type" Name="Property_Type"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="citey" Name="City_Property"
PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</td>
</tr>
<tr>
<td>
 نوع العقار:  <asp:DropDownList ID="type" runat="server">
<asp:ListItem>هل هو</asp:ListItem>
<asp:ListItem>ارض</asp:ListItem>
<asp:ListItem>فلة</asp:ListItem>
<asp:ListItem>عمارة</asp:ListItem>
<asp:ListItem>استراحة</asp:ListItem>
<asp:ListItem>شقة</asp:ListItem>
<asp:ListItem>محطة وقود</asp:ListItem>
<asp:ListItem>قصر</asp:ListItem>
<asp:ListItem>مزرعة</asp:ListItem>
<asp:ListItem>محلات</asp:ListItem>
<asp:ListItem>مستودعات</asp:ListItem>
</asp:DropDownList>
     المدينة<asp:TextBox ID="citey" runat="server"></asp:TextBox>
    اسم المخطط/الحي
<asp:TextBox ID="name" runat="server"></asp:TextBox>
  رقم القطعة 
<asp:TextBox ID="number" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td style="text-align: center">
<asp:Button ID="Button1" runat="server" Text="بــحــث" />
</td>
</tr>
<tr>
<td>
<div>
</div>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC"
BorderStyle="None" BorderWidth="1px" CellPadding="4" DataKeyNames="Property_ID"
DataSourceID="ds" style="text-align: center">
<RowStyle BackColor="White" ForeColor="#003399" />
<Columns>
<asp:BoundField DataField="Property_Type" HeaderText="Property_Type"
SortExpression="Property_Type" />
<asp:BoundField DataField="Schema_Name" HeaderText="Schema_Name"
SortExpression="Schema_Name" />
<asp:BoundField DataField="Part_Number" HeaderText="Part_Number"
SortExpression="Part_Number" />
<asp:BoundField DataField="Plot" HeaderText="Plot" SortExpression="Plot" />
<asp:BoundField DataField="Price" HeaderText="Price" SortExpression="Price" />
<asp:BoundField DataField="City_Property" HeaderText="City_Property"
SortExpression="City_Property" />
<asp:BoundField DataField="Picture_Property" HeaderText="Picture_Property"
SortExpression="Picture_Property" />
<asp:BoundField DataField="Property_ID" HeaderText="Property_ID"
InsertVisible="False" ReadOnly="True" SortExpression="Property_ID" />
</Columns>
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
</asp:GridView>
</td>
</tr>
<tr>
<td>
 </td>
</tr>
</table>
<div>

</div>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="55555.aspx.cs" Inherits="_55555" %>

#2

السلام عليكم

أرفق مثال , الكود يبدو صحيحاً ولكن هل هناك رسالة خطأ ؟

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#3

تأكد من تطابق القيم .. مثلا الأداة DropDownList تأكد أن القيم المخزنة بداخلها نفس القيم الموجودة في الحقل Property_Type

خذها نسخ ولصق لأنه لو وجد فراغ لن يتعرف عليها .. سيعتبرها غير مطابقه ..

وتأكد في الأداة DropDownList من خاصية :

AutoPostBack="True"

تم تعديل هذه المشاركة بواسطة مبرمج القاعده في 16 ديسمبر 2010 في 00:36

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#4
مبرمج القاعده كتب:

وتأكد في الأداة DropDownList من خاصية :

AutoPostBack="True"

السلام عليكم

كيف الحال ,أرجو ان تكون بخير .

هذة الخاصية لا حاجة لها هنا ,بل هى إهدار للوقت ومن الأفضل ضبطها بـ false فى هذا المثال .

شكراً على وقتك .

1

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#5

الأخ هيموووو اذا أردت عمل Filtering للGridView فيجب استخدام الخاصية

AutoPostBack="True"

لل DropDownList

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#6

اول شي مشكوريا على تجاوبكم معاي لمساعدتي الاخ احمد موسى و مبرمج القاعدة

الحقيقة ان الاداة DropDownList و خاصية AutoPostBack="True" ليست هي المشكلة

وانما المشكلة هي انه لابد يكون فيه بيانات في TextBox الموجدودة كلها لكي يقوم بالبحث واظهار البيانات

واذا تركت احداها فارغة لا يقوم بالبحث......... فـــــــــــــــمــــــــا الــــــــــــــــحــــــــــل؟

هل الخطأ هنا

<asp:SqlDataSource ID="ds" runat="server"  
                    ConnectionString="<%$ ConnectionStrings:ConnectionString %>"  
                    SelectCommand="SELECT Property_Type, Schema_Name, Part_Number, Plot, Price, City_Property, Picture_Property, Property_ID FROM Property WHERE (State_Property = @State_Property) OR (Schema_Name = @Schema_Name) OR (Part_Number = @Part_Number) OR (Property_Type = @Property_Type) OR (City_Property = @City_Property)"> 
                    <SelectParameters> 
                        <asp:Parameter DefaultValue="معروض" Name="State_Property" Type="String" /> 
                        <asp:ControlParameter ControlID="name" Name="Schema_Name" PropertyName="Text"  
                            Type="String" /> 
                        <asp:ControlParameter ControlID="number" Name="Part_Number" PropertyName="Text"  
                            Type="Int32" /> 
                        <asp:ControlParameter ControlID="type" Name="Property_Type"  
                            PropertyName="SelectedValue" Type="String" /> 
                        <asp:ControlParameter ControlID="citey" Name="City_Property"  
                            PropertyName="Text" Type="String" /> 
                    </SelectParameters> 
                </asp:SqlDataSource>
#7

فين كود البحث ..

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#8
مبرمج القاعده كتب:

فين كود البحث ..

هل من الممكن إظهار البيانات في GridView عن طريق wizard مع تطبيق عدة شروط بواسطة or\and ??

#9

عزيزي مبرمج القاعدة شكلك مو فاهم طريقة عمل البحث الي عاملها انا

اشرحلك

انا اخلي البيانات تظهر في القرد فيو حسب البيانات الي في الكونترول الموجود في الصفحة

يعني بعد عمل البوست باك للصفحة يقرا البيانات الموجودة في الكونترول ويظهر البيانات في القرد فيو حسب ما هو موجود في الكونترول

واذا عندك طريقة اسهل منك نستفيد او عندك حل للمشكلة ويعطيك العافية

#10

السلام عليكم

الأخ الفاضل , فى أول رد طلبت منك إرفاق مثال ولم تفعل , أما الإن فحاول التالى وإن لم يجدى نفعاً فأرفق مثال :

الحل المتاح :

قم بضبط الخاصية ConvertEmptyStringToNull="true" فيما يخص asp:controlParameter الخاص بـ TextBox هكذا:

<asp:ControlParameter ControlID="TextBox1" Name="CategoryID" ConvertEmptyStringToNull="true" 
                PropertyName="Text" Type="string " />

ملاحظة :

هذة الطريقة فى العمل ليست الإفضل , ويتبعها الكثير من المشاكل فى البحث .

يسر الله لكم أمركم

تم تعديل هذه المشاركة بواسطة Ahmed Moosa في 18 ديسمبر 2010 في 02:46

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#11

مثال.rar

عزيزي احمد جربت مقترحك للحل وما نفع معاي

وراح اتعبك معايا بس تحملني اشوية

هذا المثال في المرفقات

وياليت نلقا حل للمشكلة

واذا عندك طريقة للبحث اسهل تضيفها

#12

السلام عليكم

هذا إن شاء الله سيعمل معك " قمت بتجربته " :

    <asp:SqlDataSource ID="ds" runat="server" CancelSelectOnNullParameter="false" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
                    SelectCommand="SELECT Property_type , Schema_name , City_Property , part_number FROM [Property]"
                    FilterExpression="([Property_Type] = '{0}') or ([Schema_name] = '{1}') or ([Part_Number] = {2})  or ([City_Property] = '{3}')"
                    OnFiltering="ds_Filtering">
                    <FilterParameters>
                        <asp:ControlParameter Name="typeparam" ControlID="type" PropertyName="SelectedValue" />
                        <asp:ControlParameter Name="nameparam" ControlID="name" PropertyName="Text" />
                        <asp:ControlParameter Name="numberparam" ControlID="number" PropertyName="Text" Type="Int32"
                            DefaultValue="0" />
                        <asp:ControlParameter Name="cityparam" ControlID="city" PropertyName="Text" />
                    </FilterParameters>
                </asp:SqlDataSource>

ما قمنا بإستخدامه هو التالى:

filterExpression و للأسف لا يتم تطبيق الإستعلام إن كانت أحد القيم فارغة ولذلك قمنا بضبط الخاصية "CancelSelectOnNullParameter="false"" وليس هذا فحسب يجب ضبط القيم من Null إلى " " اى قيم فارغة .هكذا :

    protected void ds_Filtering(object sender, SqlDataSourceFilteringEventArgs e)
    {
        for (int i = 0; i < e.ParameterValues.Keys.Count; i++)
        {
            e.ParameterValues  = e.ParameterValues != null ?  e.ParameterValues:  string.Empty;
        }
    }

كذلك سنجد مشكلة عندPart_Number فيلزمنا ضبط الخاصية defaultValue = 0 .

يرجى إتباع ماسبق بالحرف الواحد وإلا فلن يعمل .

شكراً على وقتك . والسلام عليكم

مثال معدل : مثال.zip

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#13

جاري التجربه وسوفا اعطيك النتائج

والله يعطيك العافية تعبتك معاي

الله يجعلها بميزان حسناتك

#14

بارك الله فيك اخي احمد موسى لقد اشتغل معاي

لكن فيه مشكله بسيطة في Part_Number كيف اخلي التكست بوكس ما يدخل المستخدم فيها الى رقم؟

وكذا حلينا جزء من السؤال وباقي الجزء الثاني وهو كيف اطبع القرد فيو؟

#15
هيموووو كتب:

لكن فيه مشكله بسيطة في Part_Number كيف اخلي التكست بوكس ما يدخل المستخدم فيها الى رقم؟

وكذا حلينا جزء من السؤال وباقي الجزء الثاني وهو كيف اطبع القرد فيو؟

الحمد لله , وبعد

يرجى عن وجود سؤال جديد أن يتم فتح موضوع جديد حرصاً على خصوصية الإسئلة وأجوبتها ,حتى لا تختلط الأمور على من يأتى هنا بالبحث .

أما عن أسئلتك :

كتابة أرقام فقط يتم عمله بإستخدام regular Expression ويكون على هذا الشكل "^\d*$"

أما عن الطباعة تتم من خلال JavaScript قم بالبحث عن Print GridView .

شكراً على وقتك . والسلام عليكم

تم تعديل هذه المشاركة بواسطة Ahmed Moosa في 18 ديسمبر 2010 في 19:05

1

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…