473,382 Members | 1,369 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,382 software developers and data experts.

Dynamic TreeView selection binding to DetailsView using sqlDataSource in ASP.NET 2.0

Hi Experts,

Please help, I am a newbie to ASP.NET 2.0 may be I am doing something wrong or there may be a bug somewhere.

Basically I have a TreeView Control which I have created programmatically. And I want to bind the selection of a TreeNode (which is a record) from the database) to a DetailsView which shows the datatable record for the selected TreeView node in the Details View.

I am using IDE : Visual Web Developer 2005 Express; OS= Windows XP Professional;
Language used VB.NET; Database being used MySQL Server 5.0, for my database, using MySQL Connector/ODBC 3.51 and also installed MYSQL Connector/Net 5.0.8.1


The TreeView appears to work when
'Declared the variable below
<script runat=server>
Public TreeNodeValue As String

[TreeView Code goes here, can be provided if requested]
' left out for clarity...

'Event Handler code to display TreeViewNode selection
Expand|Select|Wrap|Line Numbers
  1. Protected Sub TreeViewCommondata_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  2. TreeNodeValue = TreeViewCommondata.SelectedNode.Value
  3. Response.Write("You selected TreeViewNode value : " & _TreeViewCommondata.SelectedNode.Value)
  4. End Sub
  5.  
</script>

When at run time, when the TreeNode is selected the above Response.Write renders to the webpage with the selected TreeView control and displays the String for the TreeNode selected.

Now I want to bind the selected TreeView node to a DetailsView so I basically draggged SqlDatasource to webpage containing TreeViewcontrol and also dragged the DetalisView on this webpage. Configured the datasource for SQLDatasource to my MySQL database)


Also the markup is as follows:
Expand|Select|Wrap|Line Numbers
  1. <body>
  2. <form id="form1" runat="server">
  3. <div> 
  4. <!-- The TreeView control associates the OnTreeNodePopulate method with an event handler named_
  5. Node_Populate --> 
  6. &nbsp;<asp:TreeView Runat="Server" ExpandImageUrl="Images/closed.gif" CollapseImageUrl="Images/open.gif" OnTreeNodePopulate="Node_Populate" ID="TreeViewCommondata" ImageSet="Simple" ShowLines="True" NodeWrap="True" Width="260px" OnSelectedNodeChanged="TreeViewCommondata_SelectedNodeChanged" OnDataBinding="TreeViewCommondata_SelectedNodeChanged" OnDataBound="TreeViewCommondata_SelectedNodeChanged">
  7. <Nodes>
  8. <asp:TreeNode Text="Common data" PopulateOnDemand=True Value="0" >
  9. </asp:TreeNode>
  10. </Nodes>
  11. <ParentNodeStyle Font-Bold="False" />
  12. <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
  13. <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px"
  14. VerticalPadding="0px" />
  15. <NodeStyle Font-Names="Tahoma" Font-Size="10pt" ForeColor="Black" HorizontalPadding="0px"
  16. NodeSpacing="0px" VerticalPadding="0px" />
  17. </asp:TreeView>
  18. &nbsp;&nbsp;
  19. </div>
  20. <asp:DetailsView ID="DetailsView1" runat="server" AllowPaging="True" BackColor="#CCCCCC"
  21. BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2"
  22. DataSourceID="SqlDataSource1" ForeColor="Black" Height="50px" Width="700px" style="left: 309px; position: absolute; top: 34px">
  23. <FooterStyle BackColor="#CCCCCC" />
  24. <EditRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
  25. <RowStyle BackColor="White" />
  26. <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
  27. <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
  28. </asp:DetailsView>
  29. <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:bier_compact_test5ConnectionString %>"
  30. ProviderName="<%$ ConnectionStrings:bier_compact_test5ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM commondata WHERE Name=?TreeNodeValue">
  31. <SelectParameters>
  32. <asp:ControlParameter ControlID="TreeViewCommondata" Name="Name" PropertyName="SelectedValue"
  33. Type="String" />
  34. </SelectParameters>
  35. </asp:SqlDataSource>
  36. </form>
  37. </body>
  38.  
When I run the page I get the TreeView control on the webpage, however when I select a node I get the error:-
"ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.37-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TreeNodeValue' at line 1"

However, if I hard code the mark-up and replace the ?TreeNodeValue with 'Field name' from the MySQL table a DetailsView is displayed albeit fixed to that field.

I have seen previous example s on the Internet using SQL Server which uses @ as the placeholder and assumed it would be a matter of using ? for MySQL.

Maybe it's a postback thing I am not understanding, or is it a page life-cycle issue?
I have seen on some forums that this maybe a bug with MySQL connector regarding passing value parameters. However, I just do not have the knowledge at the moment for a workaround. Maybe using the ObjectDataSource object? I donít know?

Maybe doing some not correct of missing something, probably straight forward for a experienced developers.

Any examples, pointers and help/guidance would be deeply appreciated.

Regards

Martin(MAK36)
Nov 1 '07 #1
2 5469
jhardman
3,406 Expert 2GB
Hi Martin,

Your question has been moved to the .NET Forum as it is not an appropriate question for the ASP Forum as per the Posting Guidelines.
The ASP Forum is for classic ASP and VBScript questions and answers, .NET and it's related components/languages are discussed in this forum.

Jared
Nov 2 '07 #2
kenobewan
4,871 Expert 4TB
Suggest searching the site first to see if you an answer, we get many posts about treeviews.
Nov 2 '07 #3

Sign in to post your reply or Sign up for a free account.

Similar topics

9
by: Timm | last post by:
I have an ASP.NET 2.0 page with two DropDownLists. I am using declarative data binding wherever possible and trying to minimize the use of code. The list of values in DropDownList DDL2 should be...
2
by: Dabbler | last post by:
In some cases I would like to allow a user to select a row from a GridView to update in another page using a DetailsView form (passing the key in QueryString). In other cases I would like to use...
3
by: chrisn | last post by:
Hi, (Using ASP.Net 2.0) I have a wizard control inside a detailsview control. When I attempt to call the InsertItem method on the DetailsView I get an error "ObjectDataSource...
2
by: bmayer | last post by:
I am using a detail view and binding it to a sql data source (at some point in the future it will be an object data source). I have seen the article "Working with Data is ASP.NET 2.0 ::...
2
by: David Lozzi | last post by:
Howdy, I have a DetailsView that when I fire the UpdateItem event, it doesn't update the data. The page reloads and the data is set back to the original. I'm using a Button to fire the...
1
by: Corey B | last post by:
I have a page with a DetailsView control and a SQLDataSource control. The SQLDataSource control is connected to an Access database. Everything works fine. Now I want to change the back end...
4
by: Mark Olbert | last post by:
I am struggling with trying to retrieve the value of an autoincrement identity field after a DetailsView Insert operation. The DetailsView is bound to an SqlDataSource control. So far as I can...
0
by: gsauns | last post by:
I have a DetailsView which is inside of a FormView. I lifted this DetailsView straight off another one of my pages, where it was working beautifully. Now I get this endlessly frustrating error...
0
by: dayiku | last post by:
I am trying to retrieve values from a boundfield in a detailsview. protected void BtnViewDetails_Click(object sender, EventArgs e) { // get the gridviewrow from the sender so we...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.