Last active
September 5, 2016 04:01
-
-
Save Daviddonadze/8facdb6c85bafffbe7dec679dbabba29 to your computer and use it in GitHub Desktop.
Repeater ( using DataBase to bind Data) and display
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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> <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