Go Back   Velocity Reviews > Newsgroups > ASP Net
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

ASP Net - reference to controls in template item

 
Thread Tools Search this Thread
Old 04-03-2007, 11:22 AM   #1
Default reference to controls in template item


Hello,

The situation is like follow:

I've got GridView1 correlated with DetailsView1 (it's normal scenario). In
DetailView1 I've got CRUD operations enabled. For create and edit opeartion
I've 2 ItemTemplates. One of them is DropDownList2 (with AutoPostBack
enabled) and 2-nd one is GridView2 (dependent on DropDownList2). All I want
is to have GridView2 updated when I change option in DropDownList2.
I thought that I can do that in code behind (Selected event of
DropDownList2) by changing SqlDataSource which is bound to GridView2. But I
don't know how to refer to these "embedded" controls.

Best Regards

D.T.




Dariusz Tomon
  Reply With Quote
Old 04-03-2007, 01:04 PM   #2
=?Utf-8?B?TWlsb3N6IFNrYWxlY2tpIFtNQ0FEXQ==?=
 
Posts: n/a
Default RE: reference to controls in template item
Czesc Darek,

What about FindControl() method?:

DropDownList dropDownList = (DropDownList)
DetailView1.FindControl("DropDownList1")
string selectedValue = dropDownListSelectedValue;

or use asp:ControlParameter in sqldatasource control. The only problem with
the second approach (in this case) is you have to provide container(s)
control id as well:

<asp:SqlDataSource runat="server" ID="SqlDataSource1">
<SelectParameters>
<asp:ControlParameter ControlID="DetailsView1$DropDwonList1"
PropertyName="SelectedValue"/>
</SelectParameters>
</asp:SqlDataSource>

Hope this helps
--
Milosz


"Dariusz Tomon" wrote:

> Hello,
>
> The situation is like follow:
>
> I've got GridView1 correlated with DetailsView1 (it's normal scenario). In
> DetailView1 I've got CRUD operations enabled. For create and edit opeartion
> I've 2 ItemTemplates. One of them is DropDownList2 (with AutoPostBack
> enabled) and 2-nd one is GridView2 (dependent on DropDownList2). All I want
> is to have GridView2 updated when I change option in DropDownList2.
> I thought that I can do that in code behind (Selected event of
> DropDownList2) by changing SqlDataSource which is bound to GridView2. But I
> don't know how to refer to these "embedded" controls.
>
> Best Regards
>
> D.T.
>
>
>



=?Utf-8?B?TWlsb3N6IFNrYWxlY2tpIFtNQ0FEXQ==?=
  Reply With Quote
Old 04-03-2007, 01:25 PM   #3
Dariusz Tomon
 
Posts: n/a
Default Re: reference to controls in template item
Thank you for your advice.
Actually I solved the problem very alike

protected void ddl_DeviceType_SelectedIndexChanged(object sender, EventArgs
e)

{

string a = DetailsView1.FindControl("ddl_DeviceType").ID.ToSt ring();

DropDownList ddl = new DropDownList();

ddl = (DropDownList)DetailsView1.FindControl("ddl_Device Type");

a = ddl.SelectedItem.ToString();

}



Best Regards



D.T.


"Milosz Skalecki [MCAD]" <> wrote in message
news:EE65DF06-4944-43BF-A514-...
> Czesc Darek,
>
> What about FindControl() method?:
>
> DropDownList dropDownList = (DropDownList)
> DetailView1.FindControl("DropDownList1")
> string selectedValue = dropDownListSelectedValue;
>
> or use asp:ControlParameter in sqldatasource control. The only problem
> with
> the second approach (in this case) is you have to provide container(s)
> control id as well:
>
> <asp:SqlDataSource runat="server" ID="SqlDataSource1">
> <SelectParameters>
> <asp:ControlParameter ControlID="DetailsView1$DropDwonList1"
> PropertyName="SelectedValue"/>
> </SelectParameters>
> </asp:SqlDataSource>
>
> Hope this helps
> --
> Milosz
>
>
> "Dariusz Tomon" wrote:
>
>> Hello,
>>
>> The situation is like follow:
>>
>> I've got GridView1 correlated with DetailsView1 (it's normal scenario).
>> In
>> DetailView1 I've got CRUD operations enabled. For create and edit
>> opeartion
>> I've 2 ItemTemplates. One of them is DropDownList2 (with AutoPostBack
>> enabled) and 2-nd one is GridView2 (dependent on DropDownList2). All I
>> want
>> is to have GridView2 updated when I change option in DropDownList2.
>> I thought that I can do that in code behind (Selected event of
>> DropDownList2) by changing SqlDataSource which is bound to GridView2. But
>> I
>> don't know how to refer to these "embedded" controls.
>>
>> Best Regards
>>
>> D.T.
>>
>>
>>





Dariusz Tomon
  Reply With Quote
Old 04-03-2007, 07:57 PM   #4
Dariusz Tomon
 
Posts: n/a
Default Re: reference to controls in template item
Czesc Milosz,

Zauwazylem adres wp.pl wiec mozna po polsku chociaz lista jest eng (ale jak
sie wczytaja to pewnie zatrybia
Ok w kazdym razie taka sprawa:

Mam nested gridview w DetailsView ktora pozwala mi wybrac konkretny rekord.
Ale jak robie sortowanie po kolumnie to wywal mi taki blad:

**********************************************

Databinding methods such as Eval(), XPath(), and Bind() can only be used in
the context of a databound control.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Databinding methods
such as Eval(), XPath(), and Bind() can only be used in the context of a
databound control.

Source Error:


[No relevant source lines]


Source File: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET
Files\zasobyit2\2486c2d0\3d86e288\App_Web_wslajwmy .0.cs Line: 0

Stack Trace:


[InvalidOperationException: Databinding methods such as Eval(), XPath(), and
Bind() can only be used in the context of a databound control.]
System.Web.UI.Page.GetDataItem() +1996914
ASP.infohardware_aspx.__DataBinding__control127(Ob ject sender, EventArgs
e) in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temp orary ASP.NET
Files\zasobyit2\2486c2d0\3d86e288\App_Web_wslajwmy .0.cs:0
System.Web.UI.Control.OnDataBinding(EventArgs e) +99
System.Web.UI.WebControls.DataBoundControl.OnDataS ourceViewSelectCallback(IEnumerable
data) +51
System.Web.UI.DataSourceView.Select(DataSourceSele ctArguments arguments,
DataSourceViewSelectCallback callback) +29
System.Web.UI.WebControls.DataBoundControl.Perform Select() +149
System.Web.UI.WebControls.BaseDataBoundControl.Dat aBind() +70
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.Ens ureDataBound() +82
System.Web.UI.WebControls.GridView.OnPreRender(Eve ntArgs e) +24
System.Web.UI.Control.PreRenderRecursiveInternal() +77
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET
Version:2.0.50727.42


******************************************

Dodam ze reprezentacja tego pola w templateitem ale w widoku "normalnym" bez
edycji jest labelka.

Masz moze jakis pomysl jak to obejsc? Idealnie chcialbym uzyskac
wspolzaleznosc pomiedzy 2 osadzonymi gridview tak aby wybranie rekordu z
jedego powodowalo zawezenie wynikow 2-giego. Oczywiscie te 2 kontrolgi sa
embedded.

Pozdrawiam

Darek


"Milosz Skalecki [MCAD]" <> wrote in message
news:EE65DF06-4944-43BF-A514-...
> Czesc Darek,
>
> What about FindControl() method?:
>
> DropDownList dropDownList = (DropDownList)
> DetailView1.FindControl("DropDownList1")
> string selectedValue = dropDownListSelectedValue;
>
> or use asp:ControlParameter in sqldatasource control. The only problem
> with
> the second approach (in this case) is you have to provide container(s)
> control id as well:
>
> <asp:SqlDataSource runat="server" ID="SqlDataSource1">
> <SelectParameters>
> <asp:ControlParameter ControlID="DetailsView1$DropDwonList1"
> PropertyName="SelectedValue"/>
> </SelectParameters>
> </asp:SqlDataSource>
>
> Hope this helps
> --
> Milosz
>
>
> "Dariusz Tomon" wrote:
>
>> Hello,
>>
>> The situation is like follow:
>>
>> I've got GridView1 correlated with DetailsView1 (it's normal scenario).
>> In
>> DetailView1 I've got CRUD operations enabled. For create and edit
>> opeartion
>> I've 2 ItemTemplates. One of them is DropDownList2 (with AutoPostBack
>> enabled) and 2-nd one is GridView2 (dependent on DropDownList2). All I
>> want
>> is to have GridView2 updated when I change option in DropDownList2.
>> I thought that I can do that in code behind (Selected event of
>> DropDownList2) by changing SqlDataSource which is bound to GridView2. But
>> I
>> don't know how to refer to these "embedded" controls.
>>
>> Best Regards
>>
>> D.T.
>>
>>
>>





Dariusz Tomon
  Reply With Quote
Old 04-06-2007, 12:32 PM   #5
=?Utf-8?B?TWlsb3N6IFNrYWxlY2tpIFtNQ0FEXQ==?=
 
Posts: n/a
Default Re: reference to controls in template item
Czolem Darek,

Musze przyznac ze troche zamieszales pomimo ze dziala
1. nie musisz inicjalizowac zmiennej poprzez tworzenie nowej instancji
dropdownlist skoro ona juz istnieje i zostanie zwrocona z metody FindControl()
2. wiekszosc zdazen przekazuje referencje do obiektu ktorego zdazenie
dotyczy z paramnetrze sender (w tym przypadku bedzie to referencja do
3. podobnie jak w pkt.1, nie musisz inicjalizowac stringa ID controlki

Powinno byc mniej wiecej tak:

protected void ddl_DeviceType_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList) sender;
string value = ddl.SelectedValue;
}

albo

protected void ddl_DeviceType_SelectedIndexChanged(object sender, EventArgs e)
{
string a;
DropDownList ddl = (DropDownList)
DetailsView1.FindControl("ddl_DeviceType");
a = ddl.SelectedValue.ToString();
}

Widze ze cos Ci jeszcze tam nie dziala (nastepny post) wiec moze bedzie
szybciej jak podeslesz mi kod na maila.

Uszanowanie
--
Milosz


"Dariusz Tomon" wrote:

> Thank you for your advice.
> Actually I solved the problem very alike
>
> protected void ddl_DeviceType_SelectedIndexChanged(object sender, EventArgs
> e)
>
> {
>
> string a = DetailsView1.FindControl("ddl_DeviceType").ID.ToSt ring();
>
> DropDownList ddl = new DropDownList();
>
> ddl = (DropDownList)DetailsView1.FindControl("ddl_Device Type");
>
> a = ddl.SelectedItem.ToString();
>
> }
>
>
>
> Best Regards
>
>
>
> D.T.
>
>
> "Milosz Skalecki [MCAD]" <> wrote in message
> news:EE65DF06-4944-43BF-A514-...
> > Czesc Darek,
> >
> > What about FindControl() method?:
> >
> > DropDownList dropDownList = (DropDownList)
> > DetailView1.FindControl("DropDownList1")
> > string selectedValue = dropDownListSelectedValue;
> >
> > or use asp:ControlParameter in sqldatasource control. The only problem
> > with
> > the second approach (in this case) is you have to provide container(s)
> > control id as well:
> >
> > <asp:SqlDataSource runat="server" ID="SqlDataSource1">
> > <SelectParameters>
> > <asp:ControlParameter ControlID="DetailsView1$DropDwonList1"
> > PropertyName="SelectedValue"/>
> > </SelectParameters>
> > </asp:SqlDataSource>
> >
> > Hope this helps
> > --
> > Milosz
> >
> >
> > "Dariusz Tomon" wrote:
> >
> >> Hello,
> >>
> >> The situation is like follow:
> >>
> >> I've got GridView1 correlated with DetailsView1 (it's normal scenario).
> >> In
> >> DetailView1 I've got CRUD operations enabled. For create and edit
> >> opeartion
> >> I've 2 ItemTemplates. One of them is DropDownList2 (with AutoPostBack
> >> enabled) and 2-nd one is GridView2 (dependent on DropDownList2). All I
> >> want
> >> is to have GridView2 updated when I change option in DropDownList2.
> >> I thought that I can do that in code behind (Selected event of
> >> DropDownList2) by changing SqlDataSource which is bound to GridView2. But
> >> I
> >> don't know how to refer to these "embedded" controls.
> >>
> >> Best Regards
> >>
> >> D.T.
> >>
> >>
> >>

>
>
>



=?Utf-8?B?TWlsb3N6IFNrYWxlY2tpIFtNQ0FEXQ==?=
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
LPG DVD-recorder 'failed to divide' item Ken DVD Video 0 11-13-2007 12:32 AM
Opinions on Reference DVD's? Jordan DVD Video 20 07-26-2007 02:04 AM
Looking for 2-up CD label software or template M.L. DVD Video 14 05-31-2007 01:49 AM
VLC controls DVDfanatico DVD Video 1 01-25-2006 05:22 PM
VLC controls DVDfanatico DVD Video 2 01-25-2006 12:07 AM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

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