Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Datagrid Control (http://www.velocityreviews.com/forums/f60-asp-net-datagrid-control.html)
-   -   DataGrid with validator (http://www.velocityreviews.com/forums/t761240-datagrid-with-validator.html)

BEN 10-28-2004 04:21 PM

DataGrid with validator
 
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.



Scott Mitchell [MVP] 10-28-2004 05:00 PM

Re: DataGrid with validator
 
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



BEN wrote:
> 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.
>
>



--

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

* When you think ASP.NET, think 4GuysFromRolla.com!

BEN 10-28-2004 05:58 PM

Re: DataGrid with validator
 
Thx Scott. It works.

"Scott Mitchell [MVP]" <mitchell@4guysfromrolla.com> bl
news:mA9gd.1666$zx1.1380@newssvr13.news.prodigy.co m g...
> 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
>
>
>
> BEN wrote:
> > 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.
> >
> >

>
>
> --
>
> Scott Mitchell
> mitchell@4guysfromrolla.com
> http://www.4GuysFromRolla.com
>
> * When you think ASP.NET, think 4GuysFromRolla.com!





All times are GMT. The time now is 12:22 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.