Pytanie : Sharepoint Webpart strona ładunek wydarzenie zagadnienie

I tworzyć 2 łączyć webparts dla filtrowy Sharpoint Dokument Biblioteka. W dostawca sieć część I wysyłać szpaltowy imię filtr, I dodawać naturalny tekst filtr sieć część che wysyłać szpaltowy wartość. i w konsumpcyjny sieć część I dostawać columnname i cenić od konsumpcyjny dwa sieć część. Teraz I być aktualizowanie widok Shapreoint Dokument Biblioteka using CAML zapytanie zadawalać znajdować the kod teraz cosumer i dostawca sieć part.

Issue:
When my przychodzić the strona dla pierwszy czas ono pokazywać wszystkie the docuemtns teraźniejszy w the dokument wyzwolenie oczekiwać. ale gdy I próbować dla rejestr jak dept= department1. pierwszy raz strona właśnie odświeżać bez zmiana i jeżeli i znowu odświeżać strona silnie wtedy i dostawać oczekiwać result.


Please znajdować the screenshot the webpart jak ono looks
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
//Provider WebPart

using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
using System.Collections.Generic;
using System.Collections.ObjectModel;

namespace EventSearchWebPart
{
    [Guid ("0736764b-dc5c-404a-9c7b-188659cf2719")]
    społeczeństwo klasowy EventSearchWebPart: System.Web.UI.WebControls.WebParts.WebPart, ITransformableFilterValues
    {
        jawny EventSearchWebPart ()
        {
        }

        [ConnectionProvider ("Dział LUB Lokacja", "UniqueIDForRegionConnection", AllowsMultipleConnections = true)]
        jawny ITransformableFilterValues SetConnection () 
        { 
            wracać to; 
        }


        intymny RadioButtonList _regions;
        ochraniać override pustka CreateChildControls ()
        {
            base.CreateChildControls ();
            _regions = nowy RadioButtonList (); 
            _regions. Items.Add (nowy ListItem ("Dział"));
            _regions. Items.Add (nowy ListItem ("Lokacja"));
            _regions. Items.Add (nowy ListItem ("Wszystkie Wydarzenie")); 
            _regions.AutoPostBack = true; 
            
            _regions. Controls.Add (_regions);
        }

        #region ITransformableFilterValues Członek

        jawny bool AllowAllValue
        {
            dostawać {powrót prawdziwy; }
        }

        jawny bool AllowEmptyValue
        {
            dostawać {powrotny fałszywy; }
        }

        jawny bool AllowMultipleValues
        {
            dostawać {powrotny fałszywy; }
        }

        społeczeństwo smyczkowy ParameterName
        {
            dostawać {powrót "Dział LUB Lokacja"; }
        }

        społeczeństwo System.Collections.ObjectModel.ReadOnlyCollection ParameterValues
        {
            dostawać {
                EnsureChildControls (); 
                List region = nowy List (); 
                dla (int i = (0); i < _regions. Items.Count; i++) 
                { 
                    jeżeli (_regions. Rzecz [i]. Wybrany) 
                    { 
                        region. Dodawać (_regions. Rzecz [i]. Wartość); 
                    } 
                } 
                ReadOnlyCollection rezultat = nowy ReadOnlyCollection (region); 
                powrotny rezultat;
            }
        }

        #endregion
    }
}

//Consumer WebPart

using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
using System.Collections.Generic;

namespace EventSearchWebPart
{
    [Guid ("558abb6e-c442-4cda-aaeb-991d8bdc6884")]
    społeczeństwo klasowy EventSearchConsumerWebPart: System.Web.UI.WebControls.WebParts.WebPart
    {
        intymny List _filterProviders; 
        intymny List FilterProviders 
        { 
            dostawać 
            { 
                wracać _filterProviders; 
            } 
        }
        [ConnectionConsumer ("filtr", "UniqueIDForConsumer", AllowsMultipleConnections = true)]
        jawny kawitacyjny SetFilter (IFilterValues filterValues) 
        { 
            jeżeli (filterValues! = null) 
            { 
                EnsureChildControls (); 
                List parametr = nowy List ();
                parametr. Dodawać (nowy ConsumerParameter ("Dział LUB Lokacja", ConsumerParameterCapabilities.SupportsMultipleValues | ConsumerParameterCapabilities.SupportsAllValue)); 
                parametr. Dodawać (nowy ConsumerParameter ("Status", ConsumerParameterCapabilities.SupportsMultipleValues | ConsumerParameterCapabilities.SupportsAllValue));
                filterValues.SetConsumerParameters (nowy System.Collections.ObjectModel.ReadOnlyCollection (parametr)); 
                this.FilterProviders.Add (filterValues); 
            } 
        }
        
        jawny EventSearchConsumerWebPart ()
        {
            _filterProviders = nowy List ();
        }

             ochraniać override pustka OnPreRender (EventArgs e)
        {
            smyczkowy filname = "";
            smyczkowy filval = "";
            foreach (IFilterValues filtr w FilterProviders)
            {
                //writer.WriteLine (sznurek. Format ("Parametr: {(0)} 
", filter.ParameterName)); jeżeli (filter.ParameterValues! = null) { foreach (smyczkowy wartość w filter.ParameterValues) jeżeli (! string.IsNullOrEmpty (wartość)) { //writer.WriteLine (sznurek. Format ("wartość: {(0)}
", wartość)); jeżeli (filter.ParameterName == "Dział LUB Lokacja") filname = wartość; inny { jeżeli (filter.ParameterName == "Status") filval = wartość; } } } } SPWeb sieć = SPControl.GetContextWeb (to. Kontekst); web.AllowUnsafeUpdates = true; SPView widok = sieć. Lista ["Events01"]. Widok ["Wszystkie Dokument"]; smyczkowy zapytanie = ""; jeżeli (filname == "Wszystkie Wydarzenie") zapytanie = ""; inny jeżeli (filname! = "" && filval! = "") { zapytanie = "" + filval + ""; } inny zapytanie = ""; widok. Zapytanie = zapytanie; widok. Aktualizacja (); base.OnPreRender (e); } } }
Attachments:

Odpowiedź : Sharepoint Webpart strona ładunek wydarzenie zagadnienie


Ty podpalać wydarzenie gdy the dział wypełniać wewnątrz, Ty potrzebować niektóre JavaScript the strona thi.
http://msdn.microsoft.com/en-us/library/ms469765.aspx mieć przykład
Inne rozwiązania  
 
programming4us programming4us