Groups | Blog | Home
all groups > asp.net datagrid control > october 2004 >

asp.net datagrid control : DataGrid with validator


Scott Mitchell [MVP]
10/28/2004 5:00:02 PM
You have to use a TemplateColumn if you want to add validators for your
editing interface.

Try the following syntax for your EditItemTemplate:

<asp:TextBox ... Text='<%# DataBinder.Eval(Container.DataItem,
"ColumnName")' />

Container.DataItem returns the "record" bound to the particular row, so
you want to use that to get the column record, and not the DataSet class
like you're doing now.

hth



[quoted text, click to view]


--

Scott Mitchell
mitchell@4guysfromrolla.com
http://www.4GuysFromRolla.com

BEN
10/29/2004 12:21:51 AM
Hi,

I want to add a custom validator to a dataGrid's boundcolumn. I use
datagrid's "edit, update, cancel" button to do. But I cannot find a method
to add the validator to boundcolumn.

In other way, I try to use TemplateColumn and EditItemTemplate with custom
validator. But I cannot bind the value to each corresponding column. All
values in the column are the same. The code is shown as below.

<asp:BoundColumn DataField="CustomerID" SortExpression="CustomerID"
HeaderText="CustomerID"></asp:BoundColumn>
<asp:BoundColumn Visible="False" DataField="EmployeeID"
SortExpression="EmployeeID" HeaderText="EmployeeID"></asp:BoundColumn>
<asp:BoundColumn DataField="Freight" SortExpression="Freight"
HeaderText="Freight"></asp:BoundColumn>
<asp:TemplateColumn SortExpression="OrderDate" HeaderText="OrderDate">
<ItemTemplate>
<%# DataBinder.Eval(DataSet11,
"Tables[Orders].Defaultview.[0].OrderDate", "{0:d}") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=TextBox1 runat="server" Text='<%#
DataBinder.Eval(DataSet11, "Tables[Orders].OrderDate", "{0:d}") %>'>
</asp:TextBox>
<asp:CustomValidator id=CustomValidator2 runat="server"
ErrorMessage='<%# DataBinder.Eval(DataSet11,
"Tables[Orders].DefaultView.[0].OrderDate", "{0:d}")
%>'>*</asp:CustomValidator>
</EditItemTemplate>
</asp:TemplateColumn>


What is the best way to validate a value in dataGrid? Or use other server
control?

Thanks in advance.

BEN
10/29/2004 1:58:22 AM
Thx Scott. It works.

"Scott Mitchell [MVP]" <mitchell@4guysfromrolla.com> ¦b¶l¥ó
news:mA9gd.1666$zx1.1380@newssvr13.news.prodigy.com ¤¤¼¶¼g...
[quoted text, click to view]

AddThis Social Bookmark Button