【发布时间】:2021-09-02 08:27:53
【问题描述】:
所以基本上我想创建一个预订,一个预订可以有多个订单,但我不知道如何存储已在其他页面等中选择的订单,但我已经知道我必须执行一个循环来运行gridview bue 我不知道如何使用寻呼机和搜索文本框来做到这一点。
当前的 CS
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Gestão_de_embarques
{
public partial class CriarEcomenda : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["constring"].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{
con.Open();
string user = Convert.ToString(Session["user"]);
username.Text = user;
if (Session["user"] == null || Session["login"] == null)
{
Response.Redirect("Login.aspx", false);
}
if (!Page.IsPostBack)
{
refreshdata();
}
con.Close();
}
public void refreshdata()
{
SqlCommand cmd = new SqlCommand("select DISTINCT No_ from [Encomenda]", con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void btnsearch_Click(object sender, EventArgs e)
{
con.Open();
if (txtSearch.Value == "")
{
refreshdata();
}
else
{
try
{
SqlCommand cmd = new SqlCommand("select DISTINCT No_ from [encomenda] where No_= @No_", con);
cmd.Parameters.Add("@No_", SqlDbType.NVarChar).Value = txtSearch.Value;
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
sdr.Close();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
con.Close();
}
else
{
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sdr.Close();
DataTable dt = new DataTable();
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
ButtonCreate.Visible = false;
}
}
catch(Exception ex)
{
}
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
refreshdata();
}
}
}
【问题讨论】:
-
循环遍历 GridView 中的所有 GridViewRows。在每一行中,使用 FindControl() 并强制转换为对象(复选框或文本框),然后根据您找到的对象获取
Checked或Text属性。 -
你能给我举个例子吗?