Showing posts with label accordion. Show all posts
Showing posts with label accordion. Show all posts

Wednesday, March 28, 2012

Accessing SelectedIndex of Datagrid inside a bound Accordion Control

I have a bound Accordion Control with its Content Template containing a gridview. Each Gridview is populated on the Accordion ItemDataBound.

The Gridview containes a set of bound checkboxes with autopostback set to true.

When a checkbox is clicked i need to find the selectedindex of the row in the gridview in question. I'm trying to retreive the selected index from within the form load event.

Any ideas?

Just to let you know, if you have your checkbox inside the GridView, you have to find the control within the GridView first and then see what is the selected value or index.

CheckBox myCheckBox = (CheckBox) GridView1.FindControl("myCheckBox1");

int i = myCheckBox.SelectedIndex;

Just one more thing, Enable Tracing for your page Trace="true" in the <%@.Page Language=... so you can see what is the name for your control. Because if you are using master page the names would be auto generated with a prefix.

Hope this would be any help to you.

Regards,
Mehdi


Just to let you know, if you have your checkbox inside the GridView, you have to find the control within the GridView first and then see what is the selected value or index.

CheckBox myCheckBox = (CheckBox) GridView1.FindControl("myCheckBox1");

int i = myCheckBox.SelectedIndex;

Just one more thing, Enable Tracing for your page Trace="true" in the <%@.Page Language=... so you can see what is the name for your control. Because if you are using master page the names would be auto generated with a prefix.

Hope this would be any help to you.

Regards,
Mehdi


Thanks for the reply.

It doesn't realy help as firstly I need to find the gridview within the accordion control, then find the datakey of the row (checkbox) that's been clicked on.

I'm not sure how to index the accordion control as it's bound and doesn't use the panes collection?

Accessing gridview inside Accordion Control

Hello Guys,

I am trying to access the gridview control that is inside the accordion control.

// Filling Pending Grid - Does not work
aFileInfo = fHandle.GetFiles("Pending","*.dat");
PendingGrid.DataSource = aFileInfo;
PendingGrid.DataBind();
This code doesnt work.

I had to replace it with the following code in order to make it work:

((GridView)this.MyAccordion.Panes[0].FindControl("PendingGrid")).DataSource = aFileInfo;
((GridView)this.MyAccordion.Panes[0].FindControl("PendingGrid")).DataBind();

any idea why i cant directly access the Gridview using its ID directly?

Thanks in advance

I think this has to do with the AccordionControl being a templated control, and that's just how they work.

Accessing controls within in an Accordion ?

Hi all,

A simple problem : I can't get access by to a control placed within a Accodion pane.

More exactly, code completion in C# is giving me the name of the component (a Literal within a Pane of an Accordion) but at runtime I get an error (null reference), the Literal is not created, whatever the moment I try to catch it.

I tried a lot of different events (of the Page, of the Accordion..), I tried to use FindControl instead of direct acces to "Literal1", all failled..

I need to dynamicaly load the content of a Pane when the Page is rendered. I generaly use a Literal since I inject html code. What is the trick to access an asp control within an Accordion Pane ??

Thanks in advance for your help.

The easiest solution would be using FindControl(). Have a look at the following example:

.aspx page:

<%

@.PageLanguage="C#"%>

<%

@.RegisterAssembly="AjaxControlToolkit"Namespace="AjaxControlToolkit"TagPrefix="ajaxCT" %>

<!

DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<

htmlxmlns="http://www.w3.org/1999/xhtml">

<

headid="Head1"runat="server"/>

<

body><formid="form1"runat="server"><asp:ScriptManagerID="smr"runat="server"></asp:ScriptManager>

<

ajaxCT:AccordionID="Accordion1"runat="server"><Panes><ajaxCT:AccordionPaneID="AccordionPane1"runat="server"><Header>Header-1</Header><Content>

<asp:GridViewID="GridView1"runat="server"></asp:GridView>

</Content></ajaxCT:AccordionPane></Panes>

</

ajaxCT:Accordion></form>

</

body>

</

html>

.cs file(code behind):

protectedvoid Page_Load(object sender,EventArgs e)

{

GridView myGridView = AccordionPane1.FindControl("GridView1")asGridView;

myGridView.DataSource= myDataTable; // myDataTable is defined somewhere else

myGridView.DataBind();

}

Hopefully this would be helpful.

Cheers.

Sazzad

Accessing controls within an Accordion for UpdatePanel triggers

HI All,

I have an accordion control, which contains a treeview control in one of its panels. I would like to use some of the events for that treeview control as a trigger for an update panel on the same page. Works fine without the Accordion, but when I use the Accordion, I receive an error notifying me that the treeview doesnt exist (I assume because the Accordion control hides it from the source engine).

Any thoughts on how to get around this?

Thanks

Rob

Hey,

I find that I run into this alot. Basically when you have a template control, then the child controls aren't directly accessible from the code behind. Instead you need to get the parent control and call parent.FindControl("name"). Then use this instance to make changes. If this doesn't work or make sense, post an example.

Saturday, March 24, 2012

About Events of Accordion Control

I want to know about events of Accordion Control.

So i want to get sample about it

Idea

Take a look at the following site:http://ajax.asp.net/ajaxtoolkit/Accordion/Accordion.aspx

Thanks for your immediate reply! I have already got the samples but I failed to find the description on control's events. The sample only mentioned about properties.


I think this is what you are looking for ..

http://blogs.msdn.com/phaniraj/pages/documentation-of-client-side-methods-exposed-by-ms-ajax-controls.aspx

Please correct me if I am wrong

Wednesday, March 21, 2012

A feature for Accordion Control

If I click on the pane, it opens.

If I click again on the same pane, nothing happens.

I'd like to have the pane closed on the second click, and don't open ANY panes.

I looked into the source code, and I could modify it myself, but I'd rather have it inside official release.

Dmitri

Yes, I'd like this too, does anyone know if this is possible to do?

yes, this idea is exactly what I was thinking about as well, I have another idea: possibility to have open more panels (when you have first panel opened and click on second one, instead closing first let it opened and open second too) and maybe some icons (likecollapsible Panel has) common for all panel in accordeon with functionality open/close all panels.I know most of it it is possible do through set ofcollapsible Panels, but maybe should be useful to have it in accordeon as well

Peace,

Milo


Hi everyone,

This is popular enough that it's been listed asissue 1679. It's looking like we're going to do this, although I don't have an estimate on when.

Thanks,
Ted

I have made an accordion with a "header" Pane, which stands out from the ones below it (click to close text or something like that would be easy enough).

The contents of the pane are empty. This is an easy work around until the accordion works as requested.


I want to know the work around as well,

so please tell us how you did that!!


If you can have many panes open at the same time, how is it different to having many CollapsiblePanels?

CAn you provide source of your change?


Seems like this has been fixed already. How to use it??