C# 如何使用asp.net C在同一页面中显示两个网格视图#
我创建了这段代码来显示两个网格视图。单击按钮1时显示第一个网格视图(GridView1),单击按钮3时显示第二个网格视图(GridView2)。但问题是只显示第一个网格视图。当我单击按钮3时,第二个栅格视图不显示,第一个栅格视图也消失。这背后的原因可能是什么C# 如何使用asp.net C在同一页面中显示两个网格视图#,c#,asp.net,gridview,C#,Asp.net,Gridview,我创建了这段代码来显示两个网格视图。单击按钮1时显示第一个网格视图(GridView1),单击按钮3时显示第二个网格视图(GridView2)。但问题是只显示第一个网格视图。当我单击按钮3时,第二个栅格视图不显示,第一个栅格视图也消失。这背后的原因可能是什么 using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using Syst
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ContractManagement
{
public partial class WebForm2 : System.Web.UI.Page
{
DataTable dt;
DataTable dt1;
Int64 totalprice;
Int64 totalamount;
string strcon = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dt = new DataTable();
dt.Columns.Add("mid");
dt.Columns.Add("materialname");
dt.Columns.Add("quantity");
dt.Columns.Add("unitprice");
dt.Columns.Add("total");
Session["data"] = dt;
TextBox2.Text = "";
dt1 = new DataTable();
dt1.Columns.Add("lrid");
dt1.Columns.Add("labourrole");
dt1.Columns.Add("salaryperday");
dt1.Columns.Add("noofdays");
dt1.Columns.Add("noofworkers");
dt1.Columns.Add("amount");
Session["data1"] = dt1;
TextBox8.Text = "";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
dt = (DataTable)Session["data"];
DataRow dr;
dr = dt.NewRow();
if (dt.Rows.Count > 0)
{
dr["mid"] = TextBox2.Text;
dr["materialname"] = TextBox1.Text;
dr["quantity"] = TextBox3.Text;
dr["unitprice"] = TextBox4.Text;
totalprice = Convert.ToInt64(TextBox3.Text) * Convert.ToInt64(TextBox4.Text);
dr["total"] = totalprice.ToString();
SqlConnection con = new SqlConnection(strcon);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd = new SqlCommand("INSERT INTO Estimation_Raw_Material(Est_ID,TID,MID,material_name,unit_price,estimated_quantity) values(@Est_ID,@TID,@MID,@material_name,@unit_price,@estimated_quantity)", con);
cmd.Parameters.AddWithValue("@Est_ID", TextBox5.Text.Trim());
cmd.Parameters.AddWithValue("@TID", TextBox6.Text.Trim());
cmd.Parameters.AddWithValue("@MID", TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@material_name", TextBox1.Text.Trim());
cmd.Parameters.AddWithValue("@unit_price", TextBox3.Text.Trim());
cmd.Parameters.AddWithValue("@estimated_quantity", TextBox4.Text.Trim());
//cmd.Parameters.AddWithValue("@estimated_amount", GridView1.Rows[1].Cells[5].Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
//Response.Write("<script>alert('Sign Up Successful. Go to User Login to Login');</script>");
}
else
{
dr["mid"] = TextBox2.Text;
dr["materialname"] = TextBox1.Text;
dr["quantity"] = TextBox3.Text;
dr["unitprice"] = TextBox4.Text;
totalprice = Convert.ToInt64(TextBox3.Text) * Convert.ToInt64(TextBox4.Text);
dr["total"] = totalprice.ToString();
SqlConnection con = new SqlConnection(strcon);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd = new SqlCommand("INSERT INTO Estimation_Raw_Material(Est_ID,TID,MID,material_name,unit_price,estimated_quantity) values(@Est_ID,@TID,@MID,@material_name,@unit_price,@estimated_quantity)", con);
cmd.Parameters.AddWithValue("@Est_ID", TextBox5.Text.Trim());
cmd.Parameters.AddWithValue("@TID", TextBox6.Text.Trim());
cmd.Parameters.AddWithValue("@MID", TextBox2.Text.Trim());
cmd.Parameters.AddWithValue("@material_name", TextBox1.Text.Trim());
cmd.Parameters.AddWithValue("@unit_price", TextBox3.Text.Trim());
cmd.Parameters.AddWithValue("@estimated_quantity", TextBox4.Text.Trim());
//cmd.Parameters.AddWithValue("@estimated_amount", GridView1.Rows[1].Cells[4].Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
}
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
Session["buyitems"] = dt;
TextBox2.Text = ""; //(dt.Rows.Count + 1).ToString();
TextBox1.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
calculateSum();
}
private void calculateSum()
{
Int32 grandtotal = 0;
foreach (GridViewRow row in GridView1.Rows)
{
grandtotal = grandtotal + Convert.ToInt32(row.Cells[4].Text); //Where Cells is the column. Just changed the index of cells
}
GridView1.FooterRow.Cells[3].Text = "Grand Total";
GridView1.FooterRow.Cells[4].Text = grandtotal.ToString();
Label3.Text = "Price(in Words) " + ConvertNumbertoWords(grandtotal);
}
public static string ConvertNumbertoWords(int number)
{
if (number == 0)
return "ZERO";
if (number < 0)
return "minus " + ConvertNumbertoWords(Math.Abs(number));
string words = "";
if ((number / 100000) > 0)
{
words += ConvertNumbertoWords(number / 100000) + " Lacs ";
number %= 100000;
}
if ((number / 1000) > 0)
{
words += ConvertNumbertoWords(number / 1000) + " Thousand ";
number %= 1000;
}
if ((number / 100) > 0)
{
words += ConvertNumbertoWords(number / 100) + " Hundred ";
number %= 100;
}
if (number > 0)
{
if (words != "")
words += "AND ";
var unitsMap = new[] { "Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };
var tensMap = new[] { "Zero", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
if (number < 20)
words += unitsMap[number];
else
{
words += tensMap[number / 10];
if ((number % 10) > 0)
words += " " + unitsMap[number % 10];
}
}
return words;
}
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(strcon);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd = new SqlCommand("INSERT INTO Estimation(Est_ID,TID,Total_Cost,Location,Status) values(@Est_ID,@TID,@Total_Cost,@Location,@Status)", con);
cmd.Parameters.AddWithValue("@Est_ID", TextBox5.Text.Trim());
cmd.Parameters.AddWithValue("@TID", TextBox6.Text.Trim());
cmd.Parameters.AddWithValue("@Total_Cost", GridView1.FooterRow.Cells[4].Text.Trim());
cmd.Parameters.AddWithValue("@Location", TextBox7.Text.Trim());
cmd.Parameters.AddWithValue("@Status", "Pending");
cmd.ExecuteNonQuery();
con.Close();
}
protected void Button3_Click(object sender, EventArgs e)
{
dt1 = (DataTable)Session["data1"];
DataRow dr1;
dr1 = dt1.NewRow();
if (dt1.Rows.Count > 0)
{
dr1["lrid"] = TextBox8.Text;
dr1["labourrole"] = TextBox9.Text;
dr1["salaryperday"] = TextBox10.Text;
dr1["noofdays"] = TextBox11.Text;
dr1["noofworkers"] = TextBox12.Text;
totalamount = Convert.ToInt64(TextBox10.Text) * Convert.ToInt64(TextBox11.Text) * Convert.ToInt64(TextBox12.Text);
dr1["amount"] = totalamount.ToString();
SqlConnection con = new SqlConnection(strcon);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd = new SqlCommand("INSERT INTO Estimation_LabourRole(Est_ID,TID,LRID,Labour_Role,Salary_Per_day,No_of_days,No_of_workers) values(@Est_ID,@TID,@LRID,@Labour_Role,@Salary_Per_day,@No_of_days,@No_of_workers)", con);
cmd.Parameters.AddWithValue("@Est_ID", TextBox5.Text.Trim());
cmd.Parameters.AddWithValue("@TID", TextBox6.Text.Trim());
cmd.Parameters.AddWithValue("@LRID", TextBox8.Text.Trim());
cmd.Parameters.AddWithValue("@Labour_Role", TextBox9.Text.Trim());
cmd.Parameters.AddWithValue("@Salary_Per_day", TextBox10.Text.Trim());
cmd.Parameters.AddWithValue("@No_of_days", TextBox11.Text.Trim());
cmd.Parameters.AddWithValue("@No_of_workers", TextBox12.Text.Trim());
//cmd.Parameters.AddWithValue("@estimated_amount", GridView1.Rows[1].Cells[5].Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
//Response.Write("<script>alert('Sign Up Successful. Go to User Login to Login');</script>");
}
else
{
dr1["lrid"] = TextBox8.Text;
dr1["labourrole"] = TextBox9.Text;
dr1["salaryperday"] = TextBox10.Text;
dr1["noofdays"] = TextBox11.Text;
dr1["noofworkers"] = TextBox12.Text;
totalamount = Convert.ToInt64(TextBox10.Text) * Convert.ToInt64(TextBox11.Text) * Convert.ToInt64(TextBox12.Text);
dr1["amount"] = totalamount.ToString();
SqlConnection con = new SqlConnection(strcon);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd = new SqlCommand("INSERT INTO Estimation_LabourRole(Est_ID,TID,LRID,Labour_Role,Salary_Per_day,No_of_days,No_of_workers) values(@Est_ID,@TID,@LRID,@Labour_Role,@Salary_Per_day,@No_of_days,@No_of_workers)", con);
cmd.Parameters.AddWithValue("@Est_ID", TextBox5.Text.Trim());
cmd.Parameters.AddWithValue("@TID", TextBox6.Text.Trim());
cmd.Parameters.AddWithValue("@LRID", TextBox8.Text.Trim());
cmd.Parameters.AddWithValue("@Labour_Role", TextBox9.Text.Trim());
cmd.Parameters.AddWithValue("@Salary_Per_day", TextBox10.Text.Trim());
cmd.Parameters.AddWithValue("@No_of_days", TextBox11.Text.Trim());
cmd.Parameters.AddWithValue("@No_of_workers", TextBox12.Text.Trim());
//cmd.Parameters.AddWithValue("@estimated_amount", GridView1.Rows[1].Cells[5].Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
}
dt1.Rows.Add(dr1);
GridView2.DataSource = dt1;
GridView2.DataBind();
Session["buyitems1"] = dt1;
TextBox8.Text = ""; //(dt.Rows.Count + 1).ToString();
TextBox9.Text = "";
TextBox10.Text = "";
TextBox11.Text = "";
TextBox12.Text = "";
calculateSum();
}
}
}
使用System.Collections.Generic;
使用系统配置;
使用系统数据;
使用System.Data.SqlClient;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
命名空间契约管理
{
公共部分类WebForm2:System.Web.UI.Page
{
数据表dt;
数据表dt1;
Int64总价;
Int64总金额;
字符串strcon=ConfigurationManager.ConnectionString[“con”].ConnectionString;
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
dt=新数据表();
dt.列。添加(“中间”);
dt.列。添加(“材料名称”);
dt.列。添加(“数量”);
dt.列。添加(“单价”);
dt.列加上(“总计”);
会话[“数据”]=dt;
TextBox2.Text=“”;
dt1=新数据表();
dt1.列。添加(“lrid”);
dt1.列。添加(“劳动角色”);
dt1.列。添加(“salaryperday”);
dt1.列。添加(“noofdays”);
dt1.列。添加(“noofworkers”);
dt1.列。添加(“金额”);
会话[“数据1”]=dt1;
TextBox8.Text=“”;
}
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
dt=(数据表)会话[“数据”];
数据行dr;
dr=dt.NewRow();
如果(dt.Rows.Count>0)
{
dr[“mid”]=TextBox2.Text;
dr[“materialname”]=TextBox1.Text;
dr[“数量”]=TextBox3.Text;
dr[“单价”]=TextBox4.Text;
totalprice=Convert.ToInt64(TextBox3.Text)*Convert.ToInt64(TextBox4.Text);
dr[“total”]=totalprice.ToString();
SqlConnection con=新的SqlConnection(strcon);
if(con.State==ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd=新的SqlCommand(“插入到估算的原材料中(估算ID、TID、MID、材料名称、单价、估算数量)”值(@Est ID、@TID、@MID、@Material名称、@unit价格、@estimated数量)”,con);
cmd.Parameters.AddWithValue(“@Est_ID”,TextBox5.Text.Trim());
cmd.Parameters.AddWithValue(“@TID”,TextBox6.Text.Trim());
cmd.Parameters.AddWithValue(“@MID”,TextBox2.Text.Trim());
cmd.Parameters.AddWithValue(“@material_name”,TextBox1.Text.Trim());
cmd.Parameters.AddWithValue(“@unit_price”,TextBox3.Text.Trim());
cmd.Parameters.AddWithValue(“@estimated_quantity”,TextBox4.Text.Trim());
//cmd.Parameters.AddWithValue(“@estimated_amount”,GridView1.Rows[1]。Cells[5]。Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
//响应。写入(“警报(‘注册成功。转到用户登录以登录’);”;
}
其他的
{
dr[“mid”]=TextBox2.Text;
dr[“materialname”]=TextBox1.Text;
dr[“数量”]=TextBox3.Text;
dr[“单价”]=TextBox4.Text;
totalprice=Convert.ToInt64(TextBox3.Text)*Convert.ToInt64(TextBox4.Text);
dr[“total”]=totalprice.ToString();
SqlConnection con=新的SqlConnection(strcon);
if(con.State==ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd=新的SqlCommand(“插入到估算的原材料中(估算ID、TID、MID、材料名称、单价、估算数量)”值(@Est ID、@TID、@MID、@Material名称、@unit价格、@estimated数量)”,con);
cmd.Parameters.AddWithValue(“@Est_ID”,TextBox5.Text.Trim());
cmd.Parameters.AddWithValue(“@TID”,TextBox6.Text.Trim());
cmd.Parameters.AddWithValue(“@MID”,TextBox2.Text.Trim());
cmd.Parameters.AddWithValue(“@material_name”,TextBox1.Text.Trim());
cmd.Parameters.AddWithValue(“@unit_price”,TextBox3.Text.Trim());
cmd.Parameters.AddWithValue(“@estimated_quantity”,TextBox4.Text.Trim());
//cmd.Parameters.AddWithValue(“@estimated_amount”,GridView1.Rows[1]。Cells[4]。Text.Trim());
cmd.ExecuteNonQuery();
con.Close();
}
dt.Rows.Add(dr);
GridView1.DataSource=dt;
GridView1.DataBind();
会话[“购买项目”]=dt;
TextBox2.Text=“”;/(dt.Rows.Count+1).ToString();
TextBox1.Text=“”;
TextBox3.Text=“”;
TextBox4.Text=“”;
计算um();
}
私有void calculateSum()
{
Int32 grandtotal=0;
foreach(GridView1.Rows中的GridViewRow行)
{
grandtotal=grandtotal+Convert.ToInt32(row.Cells[4].Text);//其中Cells是列。只更改了单元格的索引
}
GridView1.FooterRow.Cells[3].Text=“总计”;
GridView1.FooterRow.Cells[4]。Text=grandtotal.ToString();
Label3.Text=“价格(大写)”+ConvertNumbertoWords(总计);
}
公共静态字符串转换器numbertowords(整数)
{
如果(麻木)