Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Может кто знает о командных полях грида?


Автор: vlsaf 3.4.2008, 11:56
Всем привет.


Подскажите, можно ли каким-то образом привязать javascript функцию к 
командному полю  в гриде?

Хочется щелкнуть на поле "выбор строки" и чтобы выскочил showModalDialog, в котором 
я бы отредактировал подчиненную таблицу.

Автор: Magnetic 3.4.2008, 12:54
Код

      <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
            DataSourceID="SqlDataSource1" EmptyDataText="There are no data records to display.">
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
                <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
                <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
                <asp:CommandField ShowEditButton="True" />
            </Columns>
        </asp:GridView>


Код

     protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        foreach (Control control in e.Row.Cells[3].Controls)
        {
            if (control is LinkButton)
            {
                ((LinkButton)control).Attributes["onclick"] = "return confirm('are you shure?')";
            }
        }
    }

Автор: vlsaf 3.4.2008, 13:04
А где у тебя там командние поле?
Оно должно быть определено через CommandField
Например так:

Код

<asp:CommandField ShowEditButton="True" 
                  ShowSelectButton="True" 
                  ButtonType="Image" 
                  CancelImageUrl="~/Images/Undo.gif"  
                  EditImageUrl="~/Images/Edit.gif" 
                  SelectImageUrl="~/Images/Select.gif"
                  UpdateImageUrl="~/Images/Ok.gif" 
                  DeleteImageUrl="~/Images/Delete.gif" 
                   />



А вот так срабатывает скрипт при кликанье на иконку выбора строки (ShowSelectButton="True" )

Код

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    string id = GridView1.SelectedDataKey.Value.ToString();
    ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "showModalDialog(...);", true);
}


Если кому-то еще поможет, я буду рад.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)