My i have a Woodstock Table in my application that i have connected to a database view. I also wand to connect some of the columns in the Woodstock Table to properties in the RequestBean1. I have tried to do that by 'Bind to data.' And 'Property bindings.' But the problem then is that the data in that Woodstock Table column looses the connection to the column in the databasetable and shows nothing since the property in RequestBean1 does not have any value.
There is a button on each row of the Woodstock Table. What i want is that the property in RequestBean1 gets the same value in the column of the Woodstock Table (that comes from the database) at the row of the button i push. How do i solve this? I am using Netbeans 6.5 Milestonebuild 1. Hi: I want to create a TableCellEditor which strictly handles numeric values. When a user double clicks on a cell in the table, they should see a numeric value which they can modify.
Adam Smith FRSA (16 June 1723 NS (5 June 1723 OS) – 17 July 1790) was a Scottish economist, philosopher, and author. He was a moral philosopher, a pioneer of. Find great deals for Hacking Web Services by Shreeraj Shah (2006, Paperback). Shop with confidence on eBay!
For example, lets say I have a table cell with a value of 20.20 and I double click on the cell. Once I double click on the cell I see a value of 2.00. If I change the value which is displayed by the table cell editor to 4.00, the new value displayed in the cell should be 22.20. The value displayed by the table cell editor for that cell displays an offset value which is calculated from a base value which is entered someplace else in my JTable.
Any suggestions or recommendations would greatly be appreciated!! Many Thanks: Alex. Hello, I have a custom cell editor and a default renderer assigned to a specific cell in my table.
I have the following problem: If i change the value of cell 'c1' from value 'v1' to 'v2' and press enter and go to another cell the value in 'c1' is rendered correctly as 'v2' Hoever if i change the value of cell 'c1' from 'v1' to 'v2' and simply click over to another cell the value in 'c1' stays rendered as 'v1' Question: Is there ANY way to mimic the behavior of the user pressing enter in my custom cell editor when a user simply selects another cell, i guess on loss of focus or something. This is the last problem i have on the current project i am on and its very annoying. Thanks in advance, any help appreciated. I've searched discussions and can't seem to find this answer. I have 1 table that I sort often.
I'd need to create Table 2 on a different page (with much different formatting for printing purposes). I can't seem to get the Table 2's cell reference to refer to the original cell location on Table 1 after sorting.
Table 2's formula changes to the new location of data after the sort. In short, I'd like a cell on Table 2 always get the value from cell B2 in Table 1 after each new sort.
As I have it now, after a sort, the formula in Table 2 changes to match the original data - not the new value in Table 1 cell B2. Hope I said this fairly clearly - any help is appreciated. I'd like to referencing a cell in another table based on other cell values. I have three tables: 'working', 'data A', and 'data B'.
The 'working' table has two columns where I enter data manually. For instance, the 'working' table might have (with as a cell delimiter): name level ====== data A 3 data B 2 data A 4 data A 5 and the data tables might look like: level value ====== 1 62 2 95 3 142 I would like to add a third column to the right which contains the value from the corresponding table + row.
For instance, the first row would contain the third cell of the 'data A' table, the second would be the second cell of the 'data B' table, etc. How can I include cell references in a cell reference? Or am I approaching this problem the wrong way? For example - I have a value in cell AH11 want to copy this into a table (range AC24:BP123) - not sure if the table range is relevant. The target cell has been generated using a series of calculations the CONCATENATE command - as an example, the result AH42 has been calculated stored in cell AH21. How do I use a VB macro to copy the value from AH11 paste special to the calculated cell AH42?
Note - next time I run the macro the new calculated cell might change to say AH64, although source cell would still be AH11 the overall range would also stay the same. Would much appreciate any help - thanks in advance - Richard:-). Mike's answer worked for me, but I'll take a look at your solution to see if it'll help me. Here's a bit more background on what I'm trying to do - I'm actually using the spreadsheet to generate a series of X^3 curves to represent pressure vs flow power vs flow data for water pumps.
Once the data for individual curves is produced (there are 3 curves in all for each pump) I use simple macros to store the data in an area on the spreadsheet - AH11 being one of the storage cells. Once all the data for a pump has been generated I select a data line number (1 - 100). This data line number is used to calculate a series of cell references - eg.
If 64 is entered the result AH64 will be shown in cell AH21, AI64 in AI21, AJ64 in AJ21 etc. I then use the new macro to transfer the data from line 11 (AH11 etc) to line 64 in my table where it will then be available for use elsewhere in the workbook, but is also available for later update / removal / over-writing by another user. Hope that makes sense. I much appreciate your time in responding - I'll let you know how I get on, but probably not until Monday next week (I'm out of the office until then). Thanks again - Richard L:-). I have an content.xml with thouthand table:table-row / tags. How can I read the attributes and values of the tag 150 for example?
Should I read one tag after the other before I reach 150, or there is a shorter way? XML Structure of content.xml as example below.
In this sample I want to get the row4 and its value D4. Of course I don't know what value have the fourth tag and can't search tag with a value D4. I just know that the Row4 contains the value I need. Is there any possibility to read the fourth tag, or I should read from the beginning and increase the counter.
If the counter is 4, I should read the value. It seems to me not a good approach, because the files can contain thousands of tags and for each value to go throught the whole xml is resource-intensive. Thanks for the answer. And is there any possibility to get the tag with the value 5.
I know that the fifth tag should contain the value I want, in this case 5. But there is an attribute, and if this attribute is not null, then some tags1 can be shifted so that the third tag1 have an attribute tags=2, so I know that there is no the fourth tag and I read the next tag as fifth (with XPath doc/tag). Should I read all tags, or there is some other way with the XPath. To search for the first tag with attributes and if its position before the fifth tag, than to decrease the tag-position counter and so on. Doc tag11/tag1 tag12/tag1 tag1 tags=23/tag1 tag15/tag1 tag16/tag1 /docThanks in advance. I am using NetBeans 6.1 and project Woodstock jsf components. When working with a table (filled with data from table by CachedRowSet) with pagination all works well.
If I add one column with checkbox into that table pagination still works. However if I move that column with checkbox into other place in table (e.g. Make it last column while at first it was first) pagination stops working. This is probably caused by NetBeans because at first I didn't have any binding for selected value (in jsp there was no selected attribute of table tag) and when I moved it to other place in table (by table layout wizard) in jsp selected attribute of table tag was created but in form like webuijsf:checkbox id='checkbox2' selected='/ In visual properties it viewed as false. However if I either deleted selected attribute in jsp, or selected false/true as value of selected attribute in visual properties pagination again started working.
I am using NetBeans 6.1 and project Woodstock jsf components. When working with a table (filled with data from table by CachedRowSet) with pagination all works well. If I add one column with checkbox into that table pagination still works. However if I move that column with checkbox into other place in table (e.g.
Make it last column while at first it was first) pagination stops working. This is probably caused by NetBeans because at first I didn't have any binding for selected value (in jsp there was no selected attribute of table tag) and when I moved it to other place in table (by table layout wizard) in jsp selected attribute of table tag was created but in form like webuijsf:checkbox id='checkbox2' selected='/ In visual properties it viewed as false.
However if I either deleted selected attribute in jsp, or selected false/true as value of selected attribute in visual properties pagination again started working. Hi, I have VI in which i write numeric values from few controls to the second column in a table indicator.
The way i fill table is: i enter a numeric value in one control and then depending on the value entered, a value from other control gets filled into respective location in the table. One i enter a value, i want to delete it from table if it is incorrect value while i'm still in the loop of entering remaining values. How can i do that by clicking in particular table cell and deleting that value??Thanks. Hi Shah, I am not very sure about your requirement. But I suppose you are fetching some table data through an RFC and you need to get a particual cell's value from the fetched data.
If this is the case: When you import an RFC, as you might be aware, a WD node will be created corresponding to every R/3 structure involved. Now let us call the node corresponding to your table as 'MyNode'. 'MyNode' will have attributes created in it for each column type of the R/3 table. Now to hold data in 'MyNode', elements will be created which corresponds to the rows of the R/3 table. So for each row of R/3 table, an element of the corresponding node will be created and each element will have it's own values for each attribute. You can access an element at index 'i' as: wdContext.nodeMyNode().getMyNodeElementAt(i); Let us say, you have an attribute 'MyAttribute' inside 'MyNode' and you want to retrieve the data of this attribute for the i'th row. Then from WD yu write: wdContext.nodeMyNode().getMyNodeElementAt(i).getMyAttribute(); Hope this helps you, Best Regards, Nibu.
Hi Raymond, When using the UIX table component, you cannot change the background color of an individual cell on the fly. However you can change the color of the text in the cell by databinding the styleClass or inline style on the column contents. You can databind the value to a data object that takes into account the current table data. You could even do something like write a data object that takes as a key the cell text, internally uses your min/max comparison and then returns the appropriate style. Hi Jin, you may use [Desktop Office Integration I used it to fill an excel really quick, everything in OO, needed attributes MO_CONTAINER_CONTROLType Ref ToI_OI_CONTAINER_CONTROL MO_DOCUMENT_PROXYType Ref ToI_OI_DOCUMENT_PROXY MO_ERRORType Ref ToI_OI_ERROR MO_SPREADSHEETType Ref ToI_OI_SPREADSHEET MT_RANGE_LISTInstance AttributePrivateTypeSOI_RANGE_LIST MT_SHEETCONTENTInstance AttributePrivateTypeSOI_GENERIC_TABLE MT_SHEETRANGEInstance AttributePrivateTypeSOI_DIMENSION_TABLE. In Numbers it seems that the cell class doesn't have the property 'formula' or 'contents', just the value.
This is the information I get from Numbers Dictionary: cellsn [ inh. Range item]: A cell in a table elements contained by columns, ranges, rows.
Properties column (column, r/o): The cell's column. Name (text, r/o): The cell's coordinates (e.g., C3). Row (row, r/o): The cell's row. Value (any): The cell's value.
In Numbers it seems that the cell class doesn't have the property 'formula' or 'contents', just the value. This is the information I get from Numbers Dictionary: cellsn [ inh. Range item]: A cell in a table elements contained by columns, ranges, rows. Properties column (column, r/o): The cell's column. Name (text, r/o): The cell's coordinates (e.g., C3). Row (row, r/o): The cell's row.
Value (any): The cell's value. Yvan-- Sie sind der KOENIG! You are the KING! Vous tes le ROI! You seem to solve all my Applescript problems!I am still having a little problem: my date is 12/31/13. At that point, I will be 5 hours off GMT.
Right now I'm 4 hours off. So a_val is 12/30/13 at 7PM (this is in the barbaric American system, i.e. 30-XII-13 1900), and a_val - (time to GMT) is 11PM on 12/30, not 0000 on 12/31. I have, for the moment, just added 3600 (one hour's worth of seconds). This is not the end of the world, because when the time changes it will come out as 1 am on 12/31/13 and my display will round it away. Or I can write code to push whatever date down to 00h00. Install Python Package In Cygwin.
But it is not very elegant! Anyway, thank you very very much.
This is my sample data i have two table is table ref_toko and temp_sellout_mp_hy. Hello, I have a VBA code for Excel 2010 that does a very simple thing.
It assigns cell A1 a value from a table and then is suppose to insert a resulting value from J1 into the table (one column over) to show different what if values for changing a parameter. The problem I am running into is that sometimes the code will execute the placement of J1's value into the 'what if' table before cell J1 has updated from the value I assigned in cell A1. Why is this happening? How can I prevent this from happening again. Here is the code I am using Dim i as double i=1 do until sheet2.cells(i,1).value=' sheet1.cells(1,1).value=sheet2.cells(i,1).value sheet2.cells(i,2).value = sheet1.cells(1,10).value i=i+1 loop So what is happening is the code is executing the sheet2.cells(i,2).value = sheet1.cells(1,10).value statement before the cell has updated from me assigning cell (1,1) the new parameter so I get wrong answers. I hope I have explained this the best I can.
Drivers Scanpal 2 Metrologic Barcode on this page. Critterhen1960 wrote: To clarify the 'hovering over the variables' statement. I added a stop command if the iteration's value did not match the known value it was testing against. [.] I have a variable named CurNum that is assigned its value based on the following: CurNum = Sheet5.Cells(1, 12).Value When I am debugging the code (from it not matching the expected value) I see that in both the locals window and from the small pop up window that CurNum does not match what is in Sheet5.Cells(1,12). Instead it has the value from before I executed the Sheet5.Cells(1, 1).Value = Sheet5.Cells(i, 1).Value statement at the beginning of the loop. Yes, that is what I would do to discover the problem.
There is still some chance of programming errors in the debug code. But it seems unlikely, since it sounds like you are detail-oriented and probably got it right. (We all mistakes though, even me.;-) critterhen1960 wrote: I do believe that the problem came from multiple-sheet calculations. [.] My concern still remains over the code not waiting until excel had finished calculating. I share your concern.
If there is any chance of your sharing the Excel file with me (if it is self-contained), I would like to investigate, too, for my own edification. If you are amenable, but the file contains too much private data to scrub and upload to a file-sharing website, perhaps you would be amenable to sending the file to me directly or limiting shared access file to me alone. Send the file or sharing information to joeu2004 'at' hotmail.com. Critterhen1960 wrote: I am hoping that by adding theApplication.CalculationState = xlDone statement to this and future code that it will prevent this from happening again. And I hope you will post a response here to let us know if that is the case. ----- BTW, in your original posting, you mentioned that accessing and modifying 'a table'. You might simply mean a range of cells that you are treating as a table, in the vernacular.
(I use the same terminology, albeit ambiguous.) But I wonder if you mean an Excel table object (select a range, then click on Insert, Table). The only asynchronous update ('recalculation') behavior I have encountered (so far) occurred with a chart object. So I wonder if, in general, all objects are updated asynchronously, and that is the root cause of your misbehavior. Obviously just a wild guess. But it might give you (and me) comfort to know that the misbehavior is limited to certain 'unusual' features. (Albeit not so 'unusual' with the increasing use of pivot tables.) Happy hunting!
In the header part of the XMLA response you should find the definition for the grid (i.e. DougSaunders, If the cell is truly not populated i.e.
Has no content at all, then you can test with ISBLANK function. However, if the cell appears unpopulated i.e. Has an empty string (') returned to it then a separate test would be needed. So, to combine both of these, you could test with: =IF(OR(ISBLANK(A1),A1='), action if 'blank', action if not 'blank') where action if (not) 'blank' comprises some formula you insert to return to the cell in which the IF function resides. ___________ Regards, Tom. How to save, delete and insert current cell value of datagridview from xml file in C#.net winforms. I am entering the data in current cell of datagridview, that data is comming from xml file.
Now how should i save this current cell data. /* XML file have 4 tables (pri, pw, freq, attination) We have to show data according to “emitter id ” value. If emitter id ==1 then emmiter 1 tables should be appear in saperate datagridview. Hi, I am trying to update a data model from a JTable. The idea is that when the user leaves the cell they are editing, the value is put in the data model. It seems that the cell values are updated only when another cell within the table is clicked, but not when other widgets on the panel (outside the table) are clicked. The user must re-enter the table and click a cell to update the previously edited cell.
Is there a way to force an update on the cell (i.e. SetValueAt(.)) anytime the cell is exited, regardless if it is to another cell or another widget? Thanks, Frank. Hi Javid5555; When you use Linq to DataSet the query needs to be in the form as in the code snippet below.
' Query the DataSet for Table 0 returning just one row Dim last_number = (From a In accountingDataSet.Tables(0).AsEnumerable() Where a.Field(Of Integer)(ID) = 10 Select a).SingleOrDefault() If Not last_number = Nothing Then ' Now that you have a reference to the row you want to modify go and modify the value. Last_number.SetField(value, New Value Here) ' Now update the database da.Update(accountingDataSet) End If Fernando (MCSD) If a post answers your question, please click Mark As Answer on that post and Mark as Helpful. I have a pie chart that needs to be updated in the preview mode when a value is entered in the 'value' component. This value is linked to a fixed cell (call it cell X) in the excel worksheet, that updates a pivot table. The source data from pie chart is linked to this pivot table so each time I change the value from cell X, the pivot table refreshes automatically and the pie graph refreshes too, but when I toggle to the preview mode and insert a value in the value component, the pie graph does not refreshes and shows the same data. Could you please help me with this issue? How can I refresh the pie chart in the preview mode when i enter a value in the value component linked to the cell X?
I want to get a value from a different sheet with the name of the target sheet as a text in a cell of the source sheet. Is it possible?
Example: Content of Sheet 1 / Table 1 / Cell A1: 'Sheet 13' Formular in the same Sheet 1 / Table 1 / Cell A2 something like: =Text(A1)::Table 1::$D$9 This formular should get the value of '=Sheet 13::Table 1::$D$9' But the formular above doesn't work! I need it to look up values from different named sheets by the name of the target-sheet in the cell in the source sheet. Does anybody know a trick to solve my problem. Striped Trousers wrote:Yes, Jerry, this is what I was attempting to do and I am surprised that Numbers doesn't allow this (you can 'link' cells in different files in Excel). I was beginning to realize this after your last message. I followed your instructions linking cells in the same sheet, and then linking cells in different sheets of the same file. Both worked a treat but as soon as I tried this with a different file, it wouldn't work.This is something for Apple to work on I guess.In the meantime, I will enter the value manually and get on with my life!
My thanks again for your continued efforts to help.Happy New Year!ST.ST,Linking between documents can be a can of worms, and is certainly not something that we could label as a basic requirement of a spreadsheet program. In your case, especially, it's probably best practice to isolate the years and not have the documents dependent on one another. Numbers has some nifty features, but it's not the 2-pound Swiss Army knife app that Excel is.
There certainly are times when linking between documents would be handy, such as when different aspects of a project are in separate documents and need to be summarized. This would only be the case if the overall project size was very large, or if the project was divided up between different users.There are many more urgent needs, if the iWork team has time on their hands, such as improving the speed and capacity of the apps.Glad you are on your way.Jerry. Recalculation not working in Excel 2010, but does it in 2003... In a blank workbook in a blank worksheeet... Cell A1 is '=MAX(A4:A5)' Cell A2 is '=A1' Cells A3:A5 is an Excel Table (created from Insert tab, Tables group, Table) Cell A3 is 'Nbr' Cell A4 is '1' Cell A5 is '2' 1 Review formulas in cells A1 A2 2 Enter a '3' into cell A6 3 Again, review formulas in cells A1 A2 4 Observe values in cells A1 A2 5 Note that A1 does not equal A2 And yes, calculation is set to Automatic. When I enter a '3' into cell A6...
Cell A1 changed from '=MAX(A4:A5)' to '=MAX(A4:A6)' and displays value '3' Cell A2 is '=A1' and yet displays value of '2' and formulas using cell A2 calculate as '2' and not '3' I do expect a change in the formula in Cell A1. And I do get a change in the formula in Cell A1. This is because the Cells A3:A6 are in an Excel Table not an Excel range. Yet the formula of Cell A2 does not recalculate to equal Cell A1.
Well I could not find a direct website where I could submit to Microsoft the bug that exists in Excel 2010 and 2013. So I called 1-800-936-5800 and spoke with a customer service rep.
She informed me that if I open a 'case' with tech support, I would not be charged any money if the tech support rep determined that the problem is an actual 'bug'. So being the gambler that I am, I rolled the dice, and provided her with my credit card number. She processed a 'pre-authorized fee' of $259, opened a case, and provided me with the case number.
Less than 1 hour later, I was contacted by a tech support engineer, and in less than 5 minutes he was able to re-create the problem. Then he excused himself from the phone call saying that he needed to do some checking. One hour later he called back and relayed the following... He took the situation to his peers, who were also able to re-create the problem. Then he took the situation to the highest ranking senior tech support engineer, and that person confirmed that it is a bug. So I do not have to pay the $259 and the bug is now officially reported to Microsoft by me.
So what remains to be seen is how soon the problem is remedied. My opinion is that Microsoft should have better methods for reporting bugs. I think I am no longer going to use this method of connection to the database from a jsp page.
What I am going to try now is to get the jsp file to call a servlet, which will get a bean to extract the necessary data and pass it to the jsp fileWHY????????? Why reinvent the square wheel? Here are my thoughts on using sql/database connections in a JSP 1 - Don't use 'em. They belong in a bean/java class 2 - If you must use 'em take a look at the JSTL sql tag libraries rather than using scriptlet code. 3 - Take a look at your server documentation and set up a JNDI datasource.
Advantages of this approach are - standardised approach that is relatively portable across different platforms/environments. - single point of defining database connection information - you get database connection pooling 'for free' [Tomcat's docs on JNDI Datasource examples http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html]. I don't write code just save and hack. I have two pieces thatI want to merge Code one changes all pivot tables in my sheet from a cell value Dim pvt As PivotTable For Each pvt In ActiveSheet.PivotTables pvt.PivotFields('ULTIMATE_CUST_NAME').ClearAllFilters pvt.PivotFields('ULTIMATE_CUST_NAME').CurrentPage = Range('C8').Value pvt.PivotFields('Actual SV#').ClearAllFilters pvt.PivotFields('Actual SV#').CurrentPage = Range('C9').Value Next pvt Codetwo changes pivot table 2 to a specific value ActiveSheet.PivotTables('PivotTable2').PivotFields('ULTIMATE_CUST_NAME').
_ CurrentPage = 'ABC Company' I wantthe code to change pivot table 2 from a cell value Bill. First, i'm sory for my bad english I've made a JTable that have a column contains different colored cell each row depend on value at that cell. Like some post at many forums, I'm using DefaultTableCellRenderer with overiding getTableCellRendererComponent() and calling setBackground(Color c) from that return Component object. At the first time data loaded into table, all is working well (each cell has their suitable color), but when I sort the table by clicking their header, the bacground color still at the fix cell (not sorted) Any idea for this? Thnks before.
Hi,I am using SSRS 2008, I have a requirement where I need to fill the cell in a table based on the spefiic condition. For example:If I get the Value of field fiedl1 as 50% then I need to fill the cell with some shade upto half of the cell. If the cell value is 25% then I need to fill the cell value upto 25% of the whole cell. And if I get the value as 100% then I need to fill thje entire cell.Please let me know If my question in not clear.Note: I am not talking about the color changes, I just need to have a shade inside the cell based on the returned value from a dataset.Regards,Raju.
Hi, as I said before, the changeSelection(.) method of JTable will setup it's ListSelectionModel so that the row, you want, gets selected/highlighted: yourTable.changeSelection(row,0,false,false); will select a certain cell - but if selection of a single cell is not allowed and row selection is allowed, the whole row will be selected this way. You can allow selection of a single cell, selection of a column, selection of a row, or simultaneous selection of column and row at the same time. You can have single selection and multi selection. Hope this helps greetings Marsian. I've a requirement for a table (af:table, not a DB table) that, in cases where a cell's value differs from the value in the row beneath, the cell must be highlighted to flag it. The whole row cannot be highlighted, only the cells with differences.
For example, if the table contained this data: 90111 $1000 Widget 90111 $1000 CartThe cell containing the value 'Widget' in the first row must be highlighted, the other cells get no highlighting. The data is coming from a DB table, through a VO based on an EO. Is there a way to do this in ADF (11g)? Thanks- -george.
Hi there, as I am working on a quite complex table for a serial letter, I wonder if it would be somehow possible to get a value from a specific cell via formula, without using the lookup function. Assuming that I have two tables, it should be something like this: ='Get the cell value from the other table which is in the same row and column as this cell.' This means, I want to replace the absolute cell reference with a forumla: =Table2:: D7 would become something like this: =Table2:: COLUMN() ROW(). I have a multiple table spreadsheet that I need to transfer to result of a formula in one table as a value in another. I've come up with 2 solutions both of which seem cumbersome to me.
Has anyone come up with an elegant solution for this? My 2 solutions follow: Solution 1 tell document 1 to tell sheet 1 to tell table 'Stocks' set the clipboard to value of cell 'D2' end tell tell document 1 to tell sheet 1 to tell table 2 set value of cell 'B3' to (the clipboard) end tell Solution 2 tell document 1 to tell sheet 1 to tell table 2 set value of cell 'B3' to ('=Stocks::D2') set value of cell 'B3' to value of cell 'B3' end tell Thanks in anticipation. Yvan I can see where you are going with this but unfortunately, in this instance, it doesn't appear to resolve the problem. The lookup solution suffers from the same problem as '=Stocks::D2' in that when data values change in the source table they change in the target table also. In my case the source table is a number of Direct debit payments, when a payment is due a flag is raised and the data (date of payment and amount) are entered into the target table by inserting a new line above the last entry. This data cannot change when values in the source table are changed, or another payment is due, since the purpose of the sheet would be compromised. I would have used '=Stocks::D2' in a row of cells as a portal, and then the 'set value command' if numbers allowed selection of the print range.
Thanks again Tony.
• • • • • • • • Animals are multicellular, eukaryotic organisms of the kingdom Animalia (also called Metazoa). The animal kingdom emerged as a basal clade within Apoikozoa as a sister of the choanoflagellates. Sponges are the most basal clade of animals. Animals are motile, meaning they can move spontaneously and independently at some point in their lives. Their body plan eventually becomes fixed as they develop, although some undergo a process of metamorphosis later in their lives. All animals are heterotrophs: they must ingest other organisms or their products for sustenance. Most known animal phyla appeared in the fossil record as marine species during the Cambrian explosion, about 542 million years ago.
Animals can be divided broadly into vertebrates and invertebrates. Vertebrates have a backbone or spine (vertebral column), and amount to less than five percent of all described animal species. They include fish, amphibians, reptiles, birds and mammals. The remaining animals are the invertebrates, which lack a backbone. These include molluscs (clams, oysters, octopuses, squid, snails); arthropods (millipedes, centipedes, insects, spiders, scorpions, crabs, lobsters, shrimp); annelids (earthworms, leeches), nematodes (filarial worms, hookworms), flatworms (tapeworms, liver flukes), cnidarians (jellyfish, sea anemones, corals), ctenophores (comb jellies), and sponges. The study of animals is called zoology.
With a few exceptions, most notably the sponges (Phylum Porifera) and Placozoa, animals have bodies differentiated into separate tissues. These include muscles, which are able to contract and control locomotion, and nerve tissues, which send and process signals. Typically, there is also an internal digestive chamber, with one or two openings. Animals with this sort of organization are called metazoans, or eumetazoans when the former is used for animals in general. All animals have eukaryotic cells, surrounded by a characteristic extracellular matrix composed of collagen and elastic glycoproteins. This may be calcified to form structures like shells, bones, and spicules. During development, it forms a relatively flexible framework upon which cells can move about and be reorganized, making complex structures possible. In contrast, other multicellular organisms, like plants and fungi, have cells held in place by cell walls, and so develop by progressive growth. Also, unique to animal cells are the following intercellular junctions: tight junctions, gap junctions, and desmosomes. During sexual reproduction, mating with a close relative (inbreeding) generally leads to inbreeding depression. For instance, inbreeding was found to increase juvenile mortality in 11 small animal species. Inbreeding depression is considered to be largely due to expression of deleterious recessive mutations. Mating with unrelated or distantly related members of the same species is generally thought to provide the advantage of masking deleterious recessive mutations in progeny. (see Heterosis).
Animals have evolved numerous diverse mechanisms for avoiding close inbreeding and promoting outcrossing (see Inbreeding avoidance). The next oldest possible animal fossils are found towards the end of the Precambrian, around 610 million years ago, and are known as the Ediacaran or Vendian biota. These are difficult to relate to later fossils, however. Some may represent precursors of modern phyla, but they may be separate groups, and it is possible they are not really animals at all. Aside from them, most known animal phyla make a more or less simultaneous appearance during the Cambrian period, about 542 million years ago. It is still disputed whether this event, called the Cambrian explosion, is due to a rapid divergence between different groups or due to a change in conditions that made fossilization possible. The remaining animals form a monophyletic group called the Bilateria.
For the most part, they are bilaterally symmetric, and often have a specialized head with feeding and sensory organs. The body is triploblastic, i.e. All three germ layers are well-developed, and tissues form distinct organs. The digestive chamber has two openings, a mouth and an anus, and there is also an internal body cavity called a coelom or pseudocoelom. There are exceptions to each of these characteristics, however—for instance adult echinoderms are radially symmetric, and certain parasitic worms have extremely simplified body structures. Because of the great diversity found in animals, it is more economical for scientists to study a small number of chosen species so that connections can be drawn from their work and conclusions extrapolated about how animals function in general. Because they are easy to keep and breed, the fruit fly Drosophila melanogaster and the nematode Caenorhabditis elegans have long been the most intensively studied metazoan model organisms, and were among the first life-forms to be genetically sequenced.
This was facilitated by the severely reduced state of their genomes, but as many genes, introns, and linkages lost, these ecdysozoans can teach us little about the origins of animals in general. The extent of this type of evolution within the superphylum will be revealed by the crustacean, annelid, and molluscan genome projects currently in progress.