Re: GridView и динамическое добавление контролов
От: robusta  
Дата: 06.06.06 09:15
Оценка:
Здравствуйте, james, Вы писали:


J>почему так происходит?

J>как сделать чтоб они не исчезали и прочитать их значения ?

По всей видимости у Вас данные биндятся на форму след. образом:


    if (!Page.IsPostBack)
    {
    //тут вызывается код вставки checkboxes
    }


и добавление контрола в GridView вызывается только один раз, при Page.Load
Я бы сделал вот так:

<asp:GridView ID="GridView1" runat="server" OnRowCreated="GridView1_OnRowCreated">
<Columns>
    <asp:templatefield >
        <itemtemplate>
              <asp:CheckBox id="ControlCh" runat="server"/>
         </itemtemplate>
         </asp:templatefield>
</Columns>        
</asp:GridView>

    public void GridView1_OnRowCreated(Object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                CheckBox chBox = e.Row.Cells[0].FindControl("ControlCh") as CheckBox;
                if (chBox == null) throw new ApplicationException("Control is not find.");

                //chBox.Checked = true;
                                //творим с CheckBox чего хотим
            }
        }
    }


ну и чтение — аналогично.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.