Hi Steve,
I created an example to show you how to do it:
-- beging aspx code --
<script runat="server">
protected void Page_Load(objec t sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}
private void BindData()
{
dg.DataSource = new int[7];
dg.DataBind();
}
protected void DropDownList1_S electedIndexCha nged(object sender, EventArgs e)
{
int index = dg.EditItemInde x;
if (index >= 0)
{
DataGridItem item = dg.Items[index];
RequiredFieldVa lidator validator = (RequiredFieldV alidator)
item.FindContro l("rfv");
TextBox textBox = (TextBox) item.FindContro l("textBox1") ;
}
}
protected void dg_EditCommand( object source, DataGridCommand EventArgs e)
{
((DataGrid) source).EditIte mIndex = e.Item.ItemInde x;
BindData();
}
</script>
<asp:DataGrid runat="server" ID="dg" AutoGenerateCol umns="false"
OnEditCommand=" dg_EditCommand" >
<Columns>
<asp:TemplateCo lumn>
<ItemTemplate >
column1
</ItemTemplate>
<EditItemTempla te>
<asp:DropDownLi st runat="server" ID="ddl"
OnSelectedIndex Changed="DropDo wnList1_Selecte dIndexChanged"
AutoPostBack="t rue">
<asp:ListItem Text="1" />
<asp:ListItem Text="2" />
<asp:ListItem Text="3" />
</asp:DropDownLis t>
</EditItemTemplat e>
</asp:TemplateCol umn>
<asp:TemplateCo lumn>
<ItemTemplate >
column2
</ItemTemplate>
<EditItemTempla te>
<asp:TextBox ID="textbox1" runat="server">
</asp:TextBox>
<asp:RequiredFi eldValidator ControlToValida te="textbox1" runat="server"
ID="rfv">
</asp:RequiredFie ldValidator>
</EditItemTemplat e>
</asp:TemplateCol umn>
<asp:ButtonColu mn CommandName="Ed it" Text="Edit" />
</Columns>
</asp:DataGrid>
-- end aspx code --
hope this helps
Milosz
"Steve Hershoff" wrote:
Hi everyone,
I have a DataGrid with several TemplateColumns . One of these columns has an
EditItemTemplat e that contains an ASP.Net DropDownList. I'm catching this
DropDownList's SelectedIndexCh anged event.
I also have another TemplateColumn, with a RequiredFieldVa lidator that
validates a TextBox in the column. It all looks like this, in broad
strokes:
<TemplateColumn >
<EditItemTempla te>
<asp:DropDownLi st OnSelectedIndex Changed="some method">
</asp:DropDownLis t>
</EditItemTemplat e>
</TemplateColumn>
<TemplateColumn >
<EditItemTempla te>
<asp:TextBox id="textbox1">
</asp:TextBox>
<asp:RequiredFi eldValidator ControlToValida te="textbox1">
</asp:RequiredFie ldValidator>
</EditItemTemplat e>
</TemplateColumn>
When I'm in the method that catches the SelectedIndexCh anged event, can I
somehow retrieve the RequiredFieldVa lidator and set its properties? I've
been noodling with FindControl() in various incarnations but haven't found
the right mix yet. Any help or snippets are appreciated.
Thanks!