Please refer to the code below.
I use the code from this post.
http://forums.asp.net/p/1396988/3182918.aspx#3182918
CausesValidation will work as expected only then no value has been assign/bind to the control in question. However when a value as been assigned, RequiredFieldValidator will still run. This will be a grave concern if a ValidatorCalloutExtender is used. The ValidatorCallout will display and it will not disappear even though the CausesValidation is set to false.
1 <asp:DataGrid ID="DataGrid1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="false" >
2 <Columns>
3 < Go to the complete details ...