duplicate component id error
i am getting this error despite of giving unique id to each tag in form.
if i remove h:dataTable part from my code it works fine.
below is h:dataTable code which creates error when included
<h:dataTable id = "DT_TDSD" value="#{TDSMAST.tdsDetailList}" var="TDS" width="70%"
first="#{TDSMAST.firstRowIndex}" styleClass="reporttable"
headerClass="reportheader" rowClasses="oddrow,evenrow"
cellspacing="1" cellpadding="2" >
<c:if test="${!TDSMAST.isView}">
<h:column>
<f:facet name="header">
<h:outputText id="SELECT" value="#{LTDS.ch_select}" />
</f:facet>
<h:selectBooleanCheckbox id="CH_SELECT" value="#{TDS.isSelected}" />
</h:column>
</c:if>
<h:column>
<f:facet name="header">
<h:outputText id="SRNO" value="#{LTDS.lbl_sr}" />
</f:facet>
<h:outputText id="SRNO1" value="#{TDS.srNo}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText id="GLCODE" value="#{LTDS.lbl_glcode}" />
</f:facet>
<h:inputText id="TF_TDS_GLCODE" value = "#{TDS.tdsdGlCode}"
accesskey="g" size="15" styleClass = "textfield" maxlength = "15"
disabled="#{TDSMAST.isView}"
onblur = "return DtlAjaxValidation(this,'3')"/>
<h:inputText id="TF_TDS_GLDESC" value = "#{TDS.tdsdGlDesc}"
accesskey="g" size="30" styleClass = "textfield" maxlength = "80"
disabled="#{TDSMAST.isView}"
/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText id="SLCODE" value="#{LTDS.lbl_slcode}" />
</f:facet>
<h:inputText id="TF_TDS_SLCODE" value = "#{TDS.tdsdSlCode}"
accesskey="s" size="15" styleClass = "textfield" maxlength = "15"
disabled="#{TDSMAST.isView}"
onblur = "return DtlAjaxValidation(this,'4')"/>
<h:inputText id="TF_TDS_SLDESC" value = "#{TDS.tdsdSlDesc}"
accesskey="g" size="30" styleClass = "textfield" maxlength = "80"
disabled="#{TDSMAST.isView}"
/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText id="PER" value="#{LTDS.lbl_tdsper}" />
</f:facet>
<h:inputText id="TF_TDS_PER" value = "#{TDS.tdsdPer}"
accesskey="n" size="6" styleClass = "textfield" maxlength = "6"
disabled="#{TDSMAST.isView}"
onkeypress="return FunNumberMaskNoDecimal(event,true,false);"
onblur="return checkLimit(this);"
/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText id="CESS" value="#{LTDS.lbl_tdscess}" />
</f:facet>
<h:inputText id="TF_TDS_CESS" value = "#{TDS.tdsdCess}"
accesskey="n" size="6" styleClass = "textfield" maxlength = "6"
disabled="#{TDSMAST.isView}"
onkeypress="return FunNumberMaskNoDecimal(event,true,false);"
onblur="return checkLimit(this);"
/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText id="LIMIT" value="#{LTDS.lbl_tdslimit}" />
</f:facet>
<h:inputText id="TF_TDS_LIMIT" value = "#{TDS.tdsdLimit}"
accesskey="n" size="12" styleClass = "textfield" maxlength = "12"
disabled="#{TDSMAST.isView}"
onkeypress="return FunNumberMaskNoDecimal(event,true,false);"
/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText id="SC" value="#{LTDS.lbl_tdssc}" />
</f:facet>
<h:inputText id="TF_TDS_SC" value = "#{TDS.tdsdSc}"
accesskey="n" size="6" styleClass = "textfield" maxlength = "6"
disabled="#{TDSMAST.isView}"
onkeypress="return FunNumberMaskNoDecimal(event,true,false);"
onblur="return checkLimit(this);"
/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText id="LGTYPE" value="#{LTDS.lbl_legalstatus}" />
</f:facet>
<h:selectOneMenu id = "CB_LEGALSTATUS" value = "#{TDS.tdsdLegalStatus}" styleClass="option"
style="font-family: Verdana; font-size: 8pt; padding: 0" disabled="#{TDSMAST.isView}" >
<f:selectItems id="RB_TDSLEGALSTATLIST"
value="#{TDSMAST.tdsdLsList}" />
</h:selectOneMenu>
<h:inputHidden id="HD_CRDR" value="#{TDS.tdsCrdr}" />
<h:inputHidden id="HD_FLAG" value="#{TDS.tdsFlag}" />
</h:column>
</h:dataTable>
pl help

