asp.net sqldatasource detailview: как правильно настроить оператор выбора - PullRequest
0 голосов
/ 27 февраля 2009

Событие загрузки моей страницы выглядит следующим образом ....

    SqlDataSource1.ConnectionString = Connection.ConnectionStr;

    SqlDataSource1.SelectCommand = "select firstname,lastname from customer";

    SqlDataSource1.InsertCommand = "CustRec_iu";
    SqlDataSource1.InsertCommandType = SqlDataSourceCommandType.StoredProcedure; 

    SqlDataSource1.InsertParameters.Clear();

    SqlDataSource1.InsertParameters.Add(new Parameter("firstname", DbType.String));
    SqlDataSource1.InsertParameters.Add(new Parameter("LastName", DbType.String));
    SqlDataSource1.InsertParameters.Add(new Parameter("Active",DbType.Int16,"1"));

Настройка управления подробным видом выглядит следующим образом ...

      <asp:DetailsView ID="dvCustDetails1" runat="server" AutoGenerateRows="False" 
            DataSourceID="SqlDataSource1" Height="149px" Width="469px"
            OnItemInserted=dvCustDetails1_ItemInserted

            >
            <Fields>
                <asp:BoundField DataField="FirstName" HeaderText="First Name" 
                    SortExpression="FirstName" />
                <asp:BoundField DataField="LastName" HeaderText="Last Name" 
                    SortExpression="LastName" />
                <asp:CommandField ButtonType="Button" ShowInsertButton="True" />
            </Fields>
        </asp:DetailsView>

Сразу после того, как функциональность вставки завершена, я хотел бы захватить custid из таблицы клиентов, которая является столбцом идентификаторов, как извлечь ее и выбрать таблицу с этой записью, например

выберите * у клиента, где custid = @ custid.

Затем после рендеринга элемента управления после вставки я бы хотел, чтобы он отображал вновь вставленную запись на основе приведенного выше оператора select.

Кроме того, я бы хотел, чтобы в окне подробностей отображалась кнопка обновления, чтобы я мог обновить запись.

Как мне это сделать ??

Я нахожу очень мало документации в поиске Google или даже в печатных книгах.

1 Ответ

0 голосов
/ 27 февраля 2009

Вы хотите использовать событие OnSelected sqldatasource с параметром возврата из вызова SQL.

Добавьте это в sqldatasource

OnSelected ="sqlds_Selected"

и реализовать что-то вроде:

protected void sqlds_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
    //get the command object from the arg and
    //then you can get to the parameter value

    e.Command.Parameters["@CustomerID"].Value

   //then set this to your detailsview key

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...