|
|
|
ASP.Net ช่วยแนะนำโค๊ดการย้ายข้อมูลด้วยค่ะไม่แน่ใจว่ามาถูกทางหรือยัง |
|
|
|
|
|
|
|
กำลังเขียนโปรแกรมที่ใช้ในการย้ายข้อมูลเวลาที่ไม่ใช้บริษัทนั้นแล้วแต่จะเก็บเอกสารไว้โดยไปไว้ที่อีกบริษัทหนึ่งค่ะ
โดยขั้นตอนเริ่มจาก เลือกบริษัทที่เราจะย้ายข้อมูลออก จากรูปเมื่อกดที่ปุ่ม ... จะเป็นหน้าให้เลือกบริษัทแล้วจะส่งค่ากลับมาที่หน้าเดิมให้ดกปุ่ม next จะขึ้นข้อมูลบริษัท แล้วเลือกบริษัทที่สองฝั่งขวามือ ทำเช่นเดียวกันกับฝั่งซ้าย แต่พอลองเขียนโค๊ดแล้ว ปรากฏว่าเมื่อเลือกฝั่งซ้ายข้อมูลขึ้น แล้วมาเลือกฝั่งขวาข้อมูลฝั่งซ้ายหาย จะทำยังไงให่มันขึ้นพร้อมกันทั้งสองฝั่งดีคะ
Code
<table width="1000">
<tr id="selectcompany1" runat="server">
<td style="height: 92px" id="search1" runat="server">
<asp:Label ID="lblSearch" runat="server" Text="Company: " CssClass="text"></asp:Label>
<asp:TextBox ID="txtSearch" runat="server" CssClass="text" MaxLength="256" Enabled="false" Width="250px"/>
<asp:Button ID="cmdSearch" runat="server" Text="..." CssClass="text"
onclick="cmdSearch_Click" />
<asp:Button ID="cmdnext" runat="server" Text="Next" CssClass="text"
onclick="cmdnext_Click" />
</td>
<td style="height: 92px"></td>
<td style="height: 92px"></td>
</tr>
<tr id="selectcompany2" runat ="server" >
<td style="width: 414px; height: 81px;" id="company1" runat="server" >
<asp:Label ID="lblcompany1" runat="server" Text="" CssClass="text"/>
<br /><br />
<asp:Label ID="lbladdress" runat="server" Text="" CssClass="text" Width="276px"/>
</td>
<td style="text-align:center; height: 81px;" >
<asp:Label ID="lblto" runat="server" Text="To" CssClass="text" Width="16px"></asp:Label>
</td>
<td style="width:433px; height: 81px;" id="search2" runat="server">
<asp:Label ID="lblsearch2" runat="server" Text="Company: " CssClass="text"></asp:Label>
<asp:TextBox ID="txtSearch2" runat="server" CssClass="text" MaxLength="256" Enabled="false" Width="250px" ></asp:TextBox>
<asp:Button ID="cmdSearch2" runat="server" Text="..." CssClass="text"
onclick="cmdSearch2_Click" />
<asp:Button ID="cmdnext2" runat="server" Text="Next" CssClass="text"
onclick="cmdnext2_Click" />
</td>
</tr>
<%--<tr>
<td colspan="3"><hr /></td>
</tr>--%>
<tr id="showdata2" runat="server">
<td style="width: 414px; height: 76px;"></td>
<td align="center" style="height: 76px">
<asp:Label ID="lblto2" runat="server" Text="To" CssClass="text"/>
</td>
<td style="width: 249px; height: 76px;" id="company2" runat="server">
<asp:Label ID="lblcompany2" runat="server" Text="" CssClass="text"/><br /><br />
<asp:Label ID="lbladdress2" runat="server" CssClass="text" Width="235px"/>
</td>
</tr>
</table>
Code (C#)
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ManageRoleMenu();
string userNameEdit = this.User.Identity.Name;
ProfileCommon profileEdit = this.Profile;
selectcompany2.Visible = false;
showdata2.Visible = false;
selecttye.Visible = false;
keycontract.Visible = false;
cmdnext.Visible = false;
showcontract.Visible = false;
ClickPopup(cmdSearch, @"Admin/Company/" + PageName() + ".aspx", "../../SearchComp.aspx");
ClickPopup(cmdSearch2, @"Admin/Company/" + PageName() + ".aspx", "../../SearchComp.aspx");
if (Request.QueryString["c"] != null)
{
if (Session["company"].ToString() == "1")
{
txtSearch.Text = GetCompanyName(Request.QueryString["c"].ToString());
cmdnext.Visible = true;
}
else
{
txtSearch2.Text = GetCompanyName(Request.QueryString["c"].ToString());
cmdnext2.Visible = true;
BindCompanyLeft(Session["company"].ToString());
}
}
}
}
protected void cmdSearch_Click(object sender, EventArgs e)
{
Session["company"] = "1";
}
protected void cmdSearch2_Click(object sender, EventArgs e)
{
Session["company"] = Request.QueryString["c"].ToString();
BindCompanyLeft(Session["company"].ToString());
}
private void BindCompanyLeft(string companyID)
{
DataTable dt = new DataTable();
dt = GetCom();
if (dt.Rows.Count > 0)
{
lblcompany1.Text = GetCompanyName(Request.QueryString["c"].ToString());
lbladdress.Text = dt.Rows[0]["CompanyAddress"].ToString();
optkey1.DataSource = dt;
optkey1.DataTextField = "Person";
optkey1.DataValueField = "KeyContractPersonID";
optkey1.DataBind();
optkey1.RepeatDirection = RepeatDirection.Vertical;
}
else
{
selectcompany2.Visible = false;
Alert("Info", "No Data", true);
}
selectcompany1.Visible = false;
selectcompany2.Visible = true;
keycontract.Visible = true;
showcontract.Visible = true;
showdata2.Visible = true;
selecttye.Visible = true;
lblto2.Visible = true;
ddlProp.Visible = false;
Label2.Visible = false;
cmdSet.Visible = false;
}
private void BindCompanyRight(string companyID)
{
DataTable dt = new DataTable();
dt = GetCom2();
if (dt.Rows.Count > 0)
{
lblcompany2.Text = GetCompanyName(Request.QueryString["c"].ToString());
lbladdress2.Text = dt.Rows[0]["CompanyAddress"].ToString();
optkey2.DataSource = dt;
optkey2.DataTextField = "Person";
optkey2.DataValueField = "KeyContractPersonID";
optkey2.DataBind();
optkey2.RepeatDirection = RepeatDirection.Vertical;
company1.Visible = true;
company2.Visible = true;
selecttye.Visible = true;
lblcompany1.Visible = true;
lbladdress.Visible = true;
lbladdress2.Visible = true;
lblcompany2.Visible = true;
}
else
{
Alert("Info", "No Data", true);
}
}
protected void cmdnext_Click(object sender, EventArgs e)
{
BindCompanyLeft(Session["company"].ToString());
lblto2.Visible = false;
cmdnext2.Visible = false;
}
protected void cmdnext2_Click(object sender, EventArgs e)
{
BindCompanyRight(Request.QueryString["c"].ToString());
lblto2.Visible = true;
lblsearch2.Visible = false;
txtSearch2.Visible = false;
cmdSearch2.Visible = false;
cmdnext2.Visible = false;
lblto.Visible = false;
}
private DataTable GetCom()
{
using (SqlConnection cn = new SqlConnection(Globals.Settings.Contacts.ConnectionString))
{
string sql = " SELECT tbx_KeyContractPerson.ComPersonName + ' (' + tbx_Properties.PropDisplay + ')' AS Person, tbx_TranKeyContract.PropID, tbx_TranKeyContract.KeyContractPersonID ,tbx_Company.CompanyAddress";
sql = sql + " FROM tbx_KeyContractPerson INNER JOIN ";
sql = sql + " tbx_TranKeyContract ON tbx_KeyContractPerson.KeyContractPersonID = tbx_TranKeyContract.KeyContractPersonID INNER JOIN ";
sql = sql + " tbx_Properties ON dbo.tbx_TranKeyContract.PropID = dbo.tbx_Properties.PropID INNER JOIN ";
sql = sql + " tbx_Company ON dbo.tbx_TranKeyContract.CompanyID = dbo.tbx_Company.CompanyID";
sql = sql + " WHERE tbx_Company.CompanyName = '" + txtSearch.Text + "'";
//Request.QueryString["c"].ToString().ToDecimal()
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.CommandType = CommandType.Text;
cn.Open();
DataTable dt = new DataTable();
System.Data.Common.DbDataReader dr;
dr = cmd.ExecuteReader();
dt.Load(dr);
return dt;
}
}
private DataTable GetCom2()
{
using (SqlConnection cn = new SqlConnection(Globals.Settings.Contacts.ConnectionString))
{
string sql = " SELECT tbx_KeyContractPerson.ComPersonName + ' (' + tbx_Properties.PropDisplay + ')' AS Person, tbx_TranKeyContract.PropID, tbx_TranKeyContract.KeyContractPersonID ,tbx_Company.CompanyAddress";
sql = sql + " FROM tbx_KeyContractPerson INNER JOIN ";
sql = sql + " tbx_TranKeyContract ON tbx_KeyContractPerson.KeyContractPersonID = tbx_TranKeyContract.KeyContractPersonID INNER JOIN ";
sql = sql + " tbx_Properties ON dbo.tbx_TranKeyContract.PropID = dbo.tbx_Properties.PropID INNER JOIN ";
sql = sql + " tbx_Company ON dbo.tbx_TranKeyContract.CompanyID = dbo.tbx_Company.CompanyID";
sql = sql + " WHERE tbx_Company.CompanyName = '" + txtSearch2.Text + "'";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.CommandType = CommandType.Text;
cn.Open();
DataTable dt = new DataTable();
System.Data.Common.DbDataReader dr;
dr = cmd.ExecuteReader();
dt.Load(dr);
return dt;
}
}
}
Tag : ASP.NET Ms SQL Server 2005, C#
|
|
|
|
|
|
Date :
2013-07-10 10:10:35 |
By :
หมูแดง |
View :
868 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปกติแล้วถ้าใช้การ PostBack ส่วนมากข้อมูลที่อยู่หน้า WebPage จะไม่หายไปอยู่แล้วครับ
|
|
|
|
|
Date :
2013-07-10 12:52:36 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|