A simpler and quicker example can be as below (though I haven't tested it properly).
You can declare a selection change event for the first dropdown, set its autopostback to true, now you can loop through the rows of datagrid, find the dropdowns and can add items as below:
Code:
protected void Lst_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList lst1, lst2;
for (int iGridRow = 0; iGridRow <= dg.Items.Count - 1; iGridRow++)
{
lst1 = (DropDownList)dg.Items[iGridRow].FindControl("lst1");
lst2 = (DropDownList)dg.Items[iGridRow].FindControl("lst2");
if (lst1.SelectedValue != "0")
lst2.Items.Add(new ListItem(lst1.SelectedItem.Text, lst1.SelectedItem.Value));
else
lst2.Items.Clear();
}
}
Regards
Mike