Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Daviddonadze/8facdb6c85bafffbe7dec679dbabba29 to your computer and use it in GitHub Desktop.
Save Daviddonadze/8facdb6c85bafffbe7dec679dbabba29 to your computer and use it in GitHub Desktop.
Repeater ( using DataBase to bind Data) and display
// Repeater 1-------------------------------
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RepeaterXML._Default" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<table>
<tr style="font-weight: bold;">
<td valign="top"><span id="lblDesc" runat="server"><b>SKU</b></span> </td>
<td valign="top"><span id="lblCond" runat="server"><b>PRICE</b></span></td>
</tr>
<asp:Repeater ID="rptOrder" runat="server" OnItemDataBound="rptOrder_ItemDataBound">
<ItemTemplate>
<tr>
<%--XPATH, the XML Path Language for selecting nodes from xml document. --%>
<td valign="top"><asp:Literal runat="server" ID="Literal2" Text='<%# XPath("Sku") %>' /></td>
<td valign="top"><asp:Literal runat="server" ID="displayname" Text='<%# XPath("Price") %>' /></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</asp:Content>
//--------------------BIND REPEATER---------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
namespace RepeaterXML
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
string xmlString = @"<Data>
<Orders>
<OrderInfo>
<Sku>A21572</Sku>
<Price>$250.20</Price>
</OrderInfo>
<OrderInfo>
<Sku>B11111</Sku>
<Price>$720.70</Price>
</OrderInfo>
<OrderInfo>
<Sku>C121212</Sku>
<Price>$1,250.00</Price>
</OrderInfo>
</Orders>
</Data>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
XmlNodeList nodesOrder = xmlDoc.SelectNodes("/Data/Orders/OrderInfo");
if (nodesOrder.Count > 0)
{
rptOrder.DataSource = nodesOrder;
rptOrder.DataBind();
}
}
protected void rptOrder_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Object item = (Object)e.Item.DataItem;
}
}
}
//REPEATER 2 with DDL------------------------------------
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Orders.aspx.cs" Inherits="ReapiterOrder.Orders" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<span><b>Orders</b>&nbsp<asp:DropDownList ID="ddlOrders" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlOrders_SelectedIndexChanged"></asp:DropDownList></span>
<br />
<br />
<br />
<div runat="server" id="dvMain">
<table border ="1">
<tr>
<td><i><b>ORDER NUMBER</b></i></td>
<td><i><b>SKU</b></i></td>
<td><i><b>PRICE</b></i></td>
<td><i><b>QTY</b></i></td>
</tr>
<asp:Repeater ID="rptOrders" runat="server" OnItemDataBound="rptOrders_ItemDataBound">
<ItemTemplate>
<tr>
<td><asp:Label ID="lblOrderId" runat="server" Text="Label"></asp:Label></td>
<td><asp:Label ID="lblSku" runat="server" Text="Label"></asp:Label></td>
<td><asp:Label ID="lblPrice" runat="server" Text="Label"></asp:Label></td>
<td><asp:Label ID="lblQty" runat="server" Text="Label"></asp:Label></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</div>
</asp:Content>
//------------------BIND REPEATER 2
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ReapiterOrder
{
public partial class Orders : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadDropDown();
dvMain.Visible = false;
}
}
protected void ddlOrders_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlOrders.SelectedIndex > 0)
{
dvMain.Visible = true;
string orderId = ddlOrders.SelectedItem.ToString();
var db = new DBAccess();
DataTable dt = db.GetOrderDetails(orderId);
rptOrders.DataSource = dt;
rptOrders.DataBind();
}
}
private void LoadDropDown()
{
var db = new DBAccess();
DataTable dt = db.GetOrders();
ddlOrders.DataSource = dt;
ddlOrders.DataTextField = "OrderId";
ddlOrders.DataValueField = "OrderId";
ddlOrders.DataBind();
ddlOrders.Items.Insert(0, "Please Select Order");
}
protected void rptOrders_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DataRowView dr = (DataRowView)e.Item.DataItem;
((Label)e.Item.FindControl("lblOrderId")).Text = dr["OrderId"].ToString();
((Label)e.Item.FindControl("lblSku")).Text = dr["Sku"].ToString();
((Label)e.Item.FindControl("lblPrice")).Text = dr["Price"].ToString();
((Label)e.Item.FindControl("lblQty")).Text = dr["Qty"].ToString();
}
}
}
//-------------------DBAccess-----------------------------
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Configuration;
namespace ReapiterOrder
{
public class DBAccess
{
public DataTable GetOrderDetails(string orderId)
{
DataTable dt = null;
using (SqlConnection cn = new SqlConnection())
{
cn.ConnectionString = ConnectionStr();
cn.Open();
using (SqlCommand cmd = new SqlCommand("P_GetOrderDetails"))
{
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@orderId", SqlDbType.VarChar).Value = orderId;
dt = LoadTable(cmd);
}
}
return dt;
}
private DataTable LoadTable(SqlCommand cmd)
{
DataTable retn = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(retn);
return retn;
}
private string ConnectionStr()
{
string strCon = ConfigurationManager.ConnectionStrings["SQL_Connection"].ConnectionString;
return strCon;
}
public DataTable GetOrders()
{
DataTable dt = null;
using (SqlConnection cn = new SqlConnection())
{
cn.ConnectionString = ConnectionStr();
cn.Open();
using (SqlCommand cmd = new SqlCommand("P_GetOrders"))
{
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
dt = LoadTable(cmd);
}
}
return dt;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment