Solved

Help with one line of code

Posted on 2011-03-14
19
330 Views
Last Modified: 2013-12-17
Hello,

I have this methode below. The line marked with an arrow does not work.
The data that will be entered into the textbox will not be saved to the column
Data of the database.

But when i change the code to this it works:
row["Data"] = "TEST";

What should there be changed to get the content of the textbox into the column Data
of the database.

Peter
       
private void InsertNewItem(TreeNode node)
        {
            DataRow row = null;
            DataRow ParentRow = null;
            DataTable dt = null;
            int newindex = 0;
            try
            {
                ParentRow = (DataRow)node.Tag;
                if (ParentRow == null) { return; }
                newindex = int.Parse(ParentRow["SortOrder"].ToString()) + 1;
                dt = ParentRow.Table;
                row = dt.NewRow();
                row["ModelID"] = int.Parse(ParentRow["ModelID"].ToString());
                row["NodeID"] = Guid.NewGuid().ToString();
                row["ParentNodeID"] = ParentRow[dt.PrimaryKey[0].ColumnName].ToString();
                row["Description"] = "New Node";
                row["ImageIndex"] = 3;
                row["SelectedImageIndex"] = 3;
                row["SortOrder"] = newindex;
                row["Data"] = textBox1.text <=========================
                dt.Rows.Add(row);
                TreeNode newNode = GetTreeNodeFromDataRow(row, "Description");
                node.Nodes.Add(newNode);
                tvNotes.SelectedNode = newNode;
            }
            catch (Exception) { throw; }
        }

Open in new window

0
Comment
Question by:peterkiers
  • 10
  • 5
  • 2
  • +2
19 Comments
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 35126833
textBox1.Text

Capital letter
0
 
LVL 52

Assisted Solution

by:Carl Tawn
Carl Tawn earned 150 total points
ID: 35126835
Well, # is case-sensitive, so unless that is a type in the post it should say:
row["Data"] = textBox1.Text;

Open in new window

0
 
LVL 11

Expert Comment

by:JoeNuvo
ID: 35126842
How about this code?

row["Data"] = textBox1.Text.ToString();
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:peterkiers
ID: 35126865
row["Data"] = textBox1.Text.ToString();

is not working

Peter
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 35126884
"not working" how? If a hard-coded string works then pulling the text from a textbox should also work. Assuming "textbox1" is a valid object and that there is actually some text in it.
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 35126900
Any error message?

(The ToString shouldn't be required, Text ought to be suitable)
0
 
LVL 1

Author Comment

by:peterkiers
ID: 35126923
Carl_Tawn you right but still the code does not work!

I have this to save the textbox.text to the column Data of the database.

                row["Data"] = mmoNotes.Text.ToString();

And this for reading the data of the column Data and put it in the textbox

        private void tvNotes_AfterSelect(object sender, TreeViewEventArgs e)
        {
            DataRow row = e.Node.Tag as DataRow;
            mmoNotes.Text = row["Data"].ToString();
        }

The last methode works but not the first line.

P.
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 35126938
String s = mmoNotes.Text.ToString();
row["Data"] = mmoNotes.Text.ToString(); //Breakpoint here - what is the value of s ?
0
 
LVL 1

Author Comment

by:peterkiers
ID: 35126943
No errors.

I think it called a logical error, no errors but it doesn't work either.


Peter
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 35126944
By the way how do you test?  I don't see any code for saving this to a database.
0
 
LVL 1

Author Comment

by:peterkiers
ID: 35126991
I have attached the whole code.

Peter
MyApp.txt
0
 
LVL 1

Author Comment

by:peterkiers
ID: 35127019
This is the procedure that saves the treeview to the database:

        private void tbAccChan_Click(object sender, EventArgs e)
        {
            DataRow row = null;
            Hourglass(true);
            try
            {
                if (tvNotes.Nodes.Count == 0) { return; }
                row = (DataRow)tvNotes.Nodes[0].Tag;
                CommitHierarchy(DBConStr, row.Table.DataSet);
            }
            catch (Exception err) { MessageBox.Show(err.Message); }
            finally { Hourglass(false); }
        }

Peter
0
 
LVL 1

Author Comment

by:peterkiers
ID: 35127034
I quess I was looking at the wrong methode.

Because the methode above is the methode that saves the treeview to the database.
now I have to save the text of the textbox as well. How can I do that?

Peter
0
 
LVL 44

Accepted Solution

by:
AndyAinscow earned 350 total points
ID: 35127055
Does this work?

private void tbAccChan_Click(object sender, EventArgs e)
        {
            DataRow row = null;
            Hourglass(true);
            try
            {
                if (tvNotes.Nodes.Count == 0) { return; }
                row = (DataRow)tvNotes.Nodes[0].Tag;
row["Data"] = textBox1.Text;
                CommitHierarchy(DBConStr, row.Table.DataSet);
            }
            catch (Exception err) { MessageBox.Show(err.Message); }
            finally { Hourglass(false); }
        }

0
 
LVL 1

Author Comment

by:peterkiers
ID: 35127075
When changes are made to the treeview and the user presses a button
that will save the changes to the database. These 3 methodes actually does this.

the "tbAccChan_Click" calls for the "CommitHierarchy" and this finally calls for the
"CommitToDataBase"methode.

So 1 one of these methodes has something to be changed.

Peter
3methodes.txt
0
 
LVL 1

Author Comment

by:peterkiers
ID: 35127090
it works but it doesn't take the right row.

Peter
0
 
LVL 11

Expert Comment

by:Kusala Wijayasena
ID: 35127156

Hi Peter,

row = (DataRow)tvNotes.Nodes[0].Tag

Open in new window


I have a doubt that above code is always referring Node[0]. Is it right ?

-Kusala  
0
 
LVL 1

Author Comment

by:peterkiers
ID: 35127169
yes this is right.
0
 
LVL 1

Author Comment

by:peterkiers
ID: 35127255
I give up.

Peter
0

Featured Post

How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question