[ad_1]
你好,
我创建 Windows C# 应用程序。 我在其中放置了第一个、下一个、最后一个、上一个等按钮。
现在我想显示从数据库获取的记录,并显示在页面中。
当我单击第一个按钮时,然后首先显示加载时间数据。 当我单击“最后一个”时,数据显示最后一条记录,当我单击“上一个”时,数据显示上一个,当我单击“下一个”时,在 C# Windows 应用程序中显示下一个数据。
请帮助我…
我尝试过的:
我尝试创建代码,但没有成功。 我如何使用 for 循环来使用它并在页面加载时显示数据。
解决方案2
使用此示例构建您的表单
public partial class Form1 : Form { public Form1() { InitializeComponent(); } DataTable dt = new DataTable(); int index = 0; int last = 0; private void Form1_Load(object sender, EventArgs e) { dt.Columns.Add("FirstName"); dt.Columns.Add("LastName"); dt.Rows.Add("Moto", "Nexus"); dt.Rows.Add("Apple", "Iphone"); dt.Rows.Add("Sony", "Vaio"); dt.Rows.Add("Samsung", "Edge"); index = 0; last = dt.Rows.Count -1; PopulateData(); } private void btnFirst_Click(object sender, EventArgs e) { index = 0; PopulateData(); } private void btnLast_Click(object sender, EventArgs e) { index = last - 1; PopulateData(); } private void btnPrev_Click(object sender, EventArgs e) { index--; index = index <0? 0:index; PopulateData(); } private void btnNext_Click(object sender, EventArgs e) { index++; index = index > last? last : index; PopulateData(); } private void PopulateData() { DataRow row = dt.Rows[index]; string firstName = row["FirstName"].ToString(); string lastName = row["LastName"].ToString(); txtFirstName.Text = firstName; txtLastName.Text = lastName; } }
解决方案7
引用:Windows 窗体中 BindingNavigator 控件的出现使开发人员能够在最终用户创建的窗体上提供简单的数据导航和操作用户界面。
使用 BindingNavigator 控件导航数据 – Windows 窗体 .NET Framework | 微软文档[^]
解决方案1
你没有使用循环。
具体如何执行此操作取决于许多因素,例如您如何获取数据、涉及多少数据以及您的数据库到底包含什么内容。
但一种方法是:
确保您的数据库包含一个 Id 列,其值为 IDENTITY。
在数据库中设置一个名为 int 的类级别 lastRow
并将其设置为-1。
当您从数据库中获取一行进行显示时,请使用以下内容:
SELECT TOP 1 * FROM MyTable WHERE Id > lastRow ORDER BY ID ASC
如果获得任何行,请使用 ID 值加载 lastRow。
对于“Next”,它是相同的查询。
对于以前的它:
SELECT TOP 1 * FROM MyTable WHERE Id < lastRow ORDER BY ID DESC
第一的:
SELECT TOP 1 * FROM MyTable ORDER BY ID ASC
列表:
SELECT TOP 1 * FROM MyTable ORDER BY ID DESC
解决方案29
私人无效按钮15_Click_1(对象发送者,EventArgs e)
{
SqlConnection con = new SqlConnection(dbFunctions.connectionstring);
尝试
{
con.Open();
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandType = CommandType.Text;
如果(ID==“0”)
{
if (textMname.Text != “” && textqty.Text != “”)
{
DataTable dd = dbFunctions.getTable(“从医疗中选择 isnull(max(NO),0)+1”);
if (dd.Rows.Count > 0)
{
ID = dd.行[0][0].ToString();
}
com.CommandText = “插入医疗 (NO,M_Name,Qty,Patient,Dises,Remark,UNO,STATUS) 值 (@NO,@M_Name,@Qty,@Patient,@Dises,@Remark,@UNO,@STATUS )”;
//类型=“新”;
}
别的
{
MessageBox.Show(“名称和数量不能为空”);
}
}
别的
{
if (textMname.Text != “” && textqty.Text != “”)
{
com.CommandText = “更新医疗设置 M_Name=@M_Name,Qty=@Qty,Patient = @Patient,Dises=@Dises,Remark=@Remark,UNO = @UNO where NO=@NO “;
//类型=“编辑”;
}
别的
{
MessageBox.Show(“名称和数量不能为空”);
}
}
com.Parameters.Add(“@NO”, SqlDbType.VarChar).Value = ID.ToString();
com.Parameters.Add(“@UNO”, SqlDbType.VarChar).Value = textUNO.Text;
com.Parameters.Add(“@M_Name”, SqlDbType.VarChar).Value = textMname.Text;
com.Parameters.Add(“@Qty”, SqlDbType.VarChar).Value = textqty.Text;
com.Parameters.Add(“@Patient”, SqlDbType.VarChar).Value = Patient.Text;
com.Parameters.Add(“@Dises”, SqlDbType.VarChar).Value = textDises.Text;
com.Parameters.Add(“@Remark”, SqlDbType.VarChar).Value = textRemarks.Text;
com.Parameters.Add(“@STATUS”, SqlDbType.Char).Value=”A”;
com.ExecuteNonQuery();
com.Connection.Close();
MessageBox.Show(“详细信息保存成功”, “成功”, MessageBoxButtons.OK, MessageBoxIcon.Information);
展示();
清除();
this.ActiveControl = textMname;
}
catch(例外情况)
{
//dbFunctions.Logs(Ex.Message, dbFunctions.username);
MessageBox.Show(Ex.Message, “Error”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
私人无效按钮17_Click_1(对象发送者,EventArgs e)
{
清除();
}
私有无效清除()
{
ID=“0”;
//textUNO.Text = “”;
// textPname.Text = “”;
textMname.Text = “”;
textqty.Text = “”;
// textDises.Text = “”;
//textRemarks.Text = “”;
}
私有无效dataGridView6_CellContentClick_1(对象发送者,DataGridViewCellEventArgs e)
{
尝试
{
if (e.ColumnIndex == 0)
{
ID = dataGridView6.Rows[e.RowIndex]。细胞[“NO”].Value.ToString();
DataTable dt = dbFunctions.getTable(“从医疗中选择*,其中NO='” + ID.ToString() + “‘”);
if (dt.Rows.Count > 0)
{
//if (dbfunction.Branch != “0”)
//{
// cmb_Branch.Text = dataGridView1.Rows[e.RowIndex]。细胞[“Branch”].Value.ToString();
//}
textMname.Text = dt.Rows[0][“M_Name”].ToString();
textUNO.Text = dt.Rows[0][“UNO”].ToString();
textqty.Text = dt.Rows[0][“Qty”].ToString();
患者.Text = dt.Rows[0][“Patient”].ToString();
textDises.Text = dt.Rows[0][“Dises”].ToString();
textRemarks.Text = dt.Rows[0][“Remark”].ToString();
// textvnumber.Text = dt.Rows[0][“VNUMBER”].ToString();
}
别的
{
//id = 0;
}
}
if (e.ColumnIndex == 1)
{
DialogResult result = MessageBox.Show(“是否要删除经销商详细信息,请按 YES”, “Alcove”, MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (结果 == DialogResult.Yes)
{
dbFunctions.getTable(“更新医疗集 STATUS=’D’,其中 NO='” + dataGridView6.Rows[e.RowIndex]。细胞[“NO”].Value.ToString() + “‘”);
展示();
}
}
}
抓住 { }
}
私人无效label6_Click(对象发送者,EventArgs e)
{
}
私人无效按钮16_Click_1(对象发送者,EventArgs e)
{
清除1();
fetch_uniq_no();
展示();
}
私有无效clear1()
{
ID=“0”;
// textPname.Text = “”;
textUNO.Text = “”;
textMname.Text = “”;
textqty.Text = “”;
textDises.Text = “”;
textRemarks.Text = “”;
}
私人无效textRemarks_TextChanged(对象发送者,EventArgs e)
{
}
公共无效 fetch_uniq_no()
{
DataTable dt = dbFunctions.getTable(“select ‘” + dbFunctions.Finance_Year + “https://www.codeproject.com/”+’UE’+right(‘0000’+cast(isnull(max(cast(right(UNO) ,4) 作为 int)),0)+1 作为 varchar),4) 作为医疗中的否,其中 left(UNO,5)='” + dbFunctions.Finance_Year + “‘”);
if (dt.Rows.Count > 0)
{
textUNO.Text = dt.Rows[0][0].ToString();
}
}
这是我的查询
如何添加上一个按钮
[ad_2]
コメント