שלח תשובה

זירת השאלות

1573
צפיות
2
תשובות

עדכון GridView בעקבות DropDownList

,‏ 29 באוגוסט, 2012

שלום לכולם,
אני מנסה לעדכן את הGridView לאחר בחירה של המשתמש באחת האפשרויות שקיימות בDropDownList.
הGridView מקושר לDB עם DataSource .
איך אני משנה את השאילתה של הDataSource בהתאם לבחירה של המשתמש בDropDownList?

תודה !!

2 תשובות

  1. Adi Darachi הגיב:

    ככה אני כתוב את הקוד ואתן הסבר –
    מקווה שעזרתי, יש סיכוי שיש לי שגיאות כתיב כי כתבתי את זה בכתבן ולא בסטודיו


    נגדיר רשימה יורדת כך:
    <asp:DropdownList ID="DDL_Users" runat="server" AutoPostback="true" OnSelectedItemChange="UpdateGridView" />

    שים לב,
    AutoPostback – מגדיר אם שינוי בחירה ברשימה יבצע שליחת טופס.
    OnSelectedItemChange – מגדיר איזה פונקציה תרוץ בעת ביצוע שינוי בחירה ברשימה

    CODE BEHINED –
    sender, e – שווים לריק במידה ולא נשלח מידע אחר
    אנו עושים זאת ע"מ שנוכל לגשת לפונקציה גם דרך כפתור (sender)
    וגם ע"י קריאה מהקוד עצמו.

    private void UpdateGridView(object sender=null, Eventargs e=null)
    {
    List<Users> LiU = new List<Users>();
    LiU – הרשימה אותה אנחנו מקשרים לגריד
    int UserID = DDL_User.SelectedValue;
    UserID – אנחנו לקוחים את הערך של האופציה שנבחרה ברשימה היורדת שיצרנו
    LiU = GetUsers();
    כאן אתה צריך לאכלס את הרשימה בכל המשתמשים שלך (במידה וכך אתה רוצה להתחיל)
    if(sender != null)
    LiU = Li.Where(x=> x.ID == UserID).ToList();
    כאן אנחנו בודקים אם הפונקציה נקראה ע"י כפתור או ע"י הקוד –
    במידה והשולח אינו ריק אזי הקריאה נשלחה ע"י כפתור אנחנו מבצעים שאילתת סינון לפי האידי או כל נתון אחר לפיו אתה מעוניין לסנן
    GV_Users.Datasource = LiU;
    GV_Users.Databind();
    ולאחר מכן לטעון את הגריד מחדש ..
    }

שלח תשובה