Заполните ListView данными с сервера - PullRequest
1 голос
/ 15 мая 2009

У меня есть ListView на моей странице оформления заказа с ItemTemplate, который составляет таблицу товаров, заказанную клиентом. Я хочу добавить итог в нижний колонтитул таблицы, у меня есть следующая разметка:

<asp:ListView ID="lvOrderSummary" runat="server">
  <LayoutTemplate>
    <table id="tblOrderSummary">
      <tr>
        <td><b>Title</b></td>
        <td><b>Cost</b></td>
      </tr>
      <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
      <tr>
        <td><b>Total Cost:</b></td>
        <td><%# GetTotalCost().ToString()%></td>
      </tr>
    </table>
  </LayoutTemplate>
  <ItemTemplate>
    <tr>
      <td><%#Eval("Title") %></td>
      <td><%#Eval("Cost") %> </td>
    </tr>
  </ItemTemplate>
</asp:ListView>

У меня есть метод на стороне сервера, называемый GetTotalCost, который возвращает требуемое значение. У меня проблема в том, что этот метод никогда не вызывается. Я также попытался и вместо использования:

<td><%# GetTotalCost().ToString()%></td>

Я пытался использовать

<td id="tdTotal" runat="server"></td>
---------------
protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
    TableCell td = ((TableCell)this.FindControl("lvOrderSummary_tdTotal"));
  }
}

Ответы [ 2 ]

2 голосов
/ 15 мая 2009

Проверьте в этой статье для примера, как отобразить итоги в ListView.

В принципе вы можете добавить метку в шаблоне макета:

<asp:ListView ID="lvOrderSummary" runat="server"
  OnPreRender="lvOrderSummary_PreRender" ...>

  <LayoutTemplate>
    ...
    <td><asp:Label ID="lblTotalCost" runat="server" Text="Total"/></td>
    ..
  </LayoutTemplate></asp:ListView>

И затем вы устанавливаете текст метки в обработчике событий PreRender:

protected void lvOrderSummary_PreRender(object sender, EventArgs e)
{
   Label lbl = lvOrderSummary.FindControl("lblTotalCost") as Label;
   lbl.Text = GetTotalCost().ToString();
}
0 голосов
/ 01 января 2014
Try

        Dim strcon As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=D:\webarticles\App_Data\mydatabase.mdf;Integrated Security=True;User Instance=True"
        Dim con As New SqlConnection(strcon)
        con.Open()
        Dim da As SqlDataAdapter
        Dim ds As New DataSet
        Dim sqlstring As String = "SELECT * FROM tblstudent "
        da = New SqlDataAdapter(sqlstring, con)
        da.Fill(ds)
        DetailsView1.DataSource = ds.Tables(0)
        DetailsView1.DataBind()

    Catch ex As Exception
        MsgBox("There is some Error")

    End Try

Другим элементом управления данными является элемент управления DetailsView, который позволяет отображать, удалять, редактировать, вставлять по одной записи за раз из соответствующего источника данных. Элемент управления DetailsView не поддерживает сортировку. По умолчанию элемент управления DetailsView отображает каждое поле записи в отдельной строке.

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