Đối tượng Dataset và DataTable-2
Bước 4: Tạo giao diện sử dụng Code: adminIntrodure.aspx <%@ Page Language="C#" MasterPageFile="~/admin.master" AutoEventWireup="true" CodeFile="adminIntrodure.aspx.cs" Inherits="Desktop_Introdure_adminIntrodure" Title="Admin - Introdure" ...
Bước 4: Tạo giao diện sử dụng
Code: adminIntrodure.aspx
<%@ Page Language="C#" MasterPageFile="~/admin.master" AutoEventWireup="true" CodeFile="adminIntrodure.aspx.cs" Inherits="Desktop_Introdure_adminIntrodure" Title="Admin - Introdure" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table cellpadding="0" cellspacing="0" awidth="100%" style="padding-right:3px; height:390px">
<tr>
<td style="padding:15px 15px 15px 15px" valign="top">
<table awidth="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="left" class="hcubiufontlarger">Giới thiệu</td>
</tr>
<tr><td style="height:15px;"></td></tr>
<tr>
<td align="left">
<asp:Panel ID="panelupdate" Width="100%" runat="Server" Visible="false">
<table awidth="100%" style="padding-left:20px;">
<tr>
<td colspan="2"><b>Cập nhật thông tin giới thiệu</b></td>
</tr>
<tr><td style="awidth: 78px; height:15px;"></td></tr>
<tr>
<td align="left" style="awidth: 78px">Tiêu đề</td>
<td align="left"><input type="text" name="txtTitle" id="txtTitle" runat="server" style="awidth: 329px" /></td>
</tr>
<tr>
<td valign="middle" align="left" style="awidth: 78px">Tóm tắt</td>
<td align="left">
<asp:TextBox ID="txtTomtat" runat="server" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td align="left" style="height: 88px; awidth: 78px;">Nội dung</td>
<td align="left" style="height: 88px">
<asp:TextBox ID="txtNoidung" runat="server" TextMode="MultiLine" />
</td>
</tr>
<tr>
<td align="left">Vị trí</td>
<td align="left">
<asp:TextBox ID="txtvitri" runat="server" Text="1"></asp:TextBox>
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtvitri"
ErrorMessage="Vị trí phải là kiểu số" MaximumValue="100" MinimumValue="0" Type="Integer"></asp:RangeValidator></td>
</tr>
<tr><td style="awidth: 78px; height:15px;"></td></tr>
<tr>
<td colspan="2" align="left">
<asp:Button ID="btnaccept" runat="server" Text="Ghi" Width="100px" OnClick="btnaccept_Click"/>
<asp:Button ID="btcancel" runat="server" Text="Bỏ qua" Width="100px" OnClick="btcancel_Click" />
<asp:Label ID="lblidintro" runat="server" Text="" Visible="false"></asp:Label></td>
</tr>
</table>
</asp:Panel>
</td>
</tr>
<tr>
<td style="height:5px;"></td>
</tr>
<asp:Panel ID="panelview" runat="server">
<tr>
<td align="left" style="padding-bottom:3px;"><asp:LinkButton ID="btnaddnew" CssClass="linkbutton" runat="server" Text="Thêm mới" OnClick="btnaddnew_Click" /></td>
</tr>
<tr>
<td valign="top" align="left">
<asp:DataGrid id="gridintro" runat="server"
BorderColor="black"
Width="100%"
BorderWidth="1"
CellPadding="3"
Font-Size="10pt"
HeaderStyle-BackColor="#aaaadd"
OnItemCommand="gridintro_OnItemCommand"
AutoGenerateColumns="false">
<HeaderStyle BackColor="#AAAADD"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="80px" HeaderText="STT">
<ItemTemplate>
<%#Container.ItemIndex +1 %>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left" DataField="sTitle" ReadOnly="true" HeaderText="Tiêu đề"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Vị trí" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" HeaderStyle-Width="100px" ItemStyle-Width="100px" ItemStyle-Height="24px" >
<ItemTemplate>
<asp:TextBox ID="txtVitri" Width="39px" runat="server" Text='<%#Eval("iPosition") %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Chỉnh sửa" ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="80px" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="100px" ItemStyle-Height="24px" >
<ItemTemplate>
<asp:LinkButton ID ="Edit" CommandArgument ='<%#DataBinder.Eval(Container,"DataItem.pkIntrodureID")%>' runat ="server" CommandName="Edit" Text ="Edit"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Xóa" HeaderStyle-HorizontalAlign="Center" HeaderStyle-Width="80px" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100px" ItemStyle-Height="24px" >
<ItemTemplate>
<asp:LinkButton ID ="Delete" CommandArgument ='<%#DataBinder.Eval(Container,"DataItem.pkIntrodureID")%>' runat ="server" CommandName="Delete" Text ="Delete"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</td>
</tr>
<tr>
<td align="right" style="padding-top:3px;">
<asp:Label ID="lblthongbao" runat="server"></asp:Label>
<asp:LinkButton ID="lbncapnhatvitri" CssClass="linkbutton" runat="server" Text="Cập nhật vị trí" OnClick="lbncapnhatvitri_Click" />
</td>
</tr>
</asp:Panel>
</table>
</td>
</tr>
<tr><td style="height:30px;"></td></tr>
</table>
</asp:Content>
Code adminIntrodure.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Website.Library;
using Website.Modules.Introdure;
public partial class Desktop_Introdure_adminIntrodure : System.Web.UI.Page
{
string ssql;
void Loaddatagrid()
{
ssql = "select pkIntrodureID,sTitle,iPosition from tblIntrodure";
DatagridHelper.fill_datagrid(gridintro, ssql, "pkIntrodureID");
foreach (DataGridItem item in this.gridintro.Items)
{
LinkButton lbn = (LinkButton)this.gridintro.Items[item.ItemIndex].FindControl("Delete");
lbn.Attributes.Add("onclick", "javascript:return confirm('Bạn có chắc chắn xoá mục giới thiệu này')");
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Loaddatagrid();
}
}
private IntrodureInfo Getcontent()
{
IntrodureInfo intro = new IntrodureInfo();
try
{
intro.pkIntrodureID = int.Parse(lblidintro.Text);
}
catch
{
}
intro.sTitle = txtTitle.Value;
intro.sSumary = txtTomtat.Text;
intro.sContent = txtNoidung.Text;
intro.iPosition = int.Parse(txtvitri.Text);
return intro;
}
protected void btnaddnew_Click(object sender, EventArgs e)
{
panelupdate.Visible = true;
panelview.Visible = false;
txtNoidung.Text = "";
txtTitle.Value = "";
this.txtTomtat.Text = "";
txtvitri.Text = "1";
btnaccept.Text = "Ghi";
}
protected void gridintro_OnItemCommand(object sender, DataGridCommandEventArgs e)
{
lblidintro.Text = e.CommandArgument.ToString();
if (e.CommandName == "Edit")
{
IntrodureInfo introdure = IntrodureDB.Getinfo(lblidintro.Text);
txtTitle.Value = introdure.sTitle;
txtTomtat.Text = introdure.sSumary;
txtvitri.Text = introdure.iPosition.ToString();
txtNoidung.Text = introdure.sContent;
btnaccept.Text = "Cập nhật";
panelupdate.Visible = true;
panelview.Visible = false;
}
else
{
IntrodureDB.Delete(lblidintro.Text);
Loaddatagrid();
}
}
protected void btnaccept_Click(object sender, EventArgs e)
{
IntrodureInfo introdure = Getcontent();
if (btnaccept.Text == "Ghi")
{
IntrodureDB.Insert(introdure);
}
else
{
IntrodureDB.Update(introdure);
}
panelupdate.Visible = false;
panelview.Visible = true;
Loaddatagrid();
}
protected void btcancel_Click(object sender, EventArgs e)
{
panelview.Visible = true;
panelupdate.Visible = false;
Loaddatagrid();
}
protected void lbncapnhatvitri_Click(object sender, EventArgs e)
{
foreach (DataGridItem item in gridintro.Items)
{
TextBox txt = (TextBox)this.gridintro.Items[item.ItemIndex].FindControl("txtVitri");
IntrodureDB.UpdateIndex(gridintro.DataKeys[item.ItemIndex].ToString(), txt.Text);
}
}
}