[ad_1]
やあ、
Windows C# アプリケーションを作成します。 最初、次、最後、前のようなボタンを配置しました。
今、データベースからのレコードのフェッチを表示し、ページに表示したいと考えています。
最初のボタンをクリックすると、ロード時のデータが最初に表示されます。 最後にクリックすると最後のレコードが表示され、前をクリックすると前のデータが表示され、次をクリックするとC#Windowsアプリケーションで次のデータが表示されます。
助けてください…
私が試したこと:
コードを作成しようとしましたが、成功しませんでした。 for ループを使用してそれを使用し、ページの読み込み時にデータを表示するにはどうすればよいですか。
解決策 1
ループは使用しません。
これを行う正確な方法は、データをフェッチする方法、関係するデータの量、DB に正確に何が含まれているかなど、さまざまな要因によって異なります。
しかし、1つの方法は次のとおりです。
DB に IDENTITY の Id 列が含まれていることを確認してください。
と呼ばれるDBにクラスレベルのintを設定します lastRow
-1 に設定します。
DB から単一の行を取得して表示する場合は、次のようなものを使用します。
SELECT TOP 1 * FROM MyTable WHERE Id > lastRow ORDER BY ID ASC
行を取得した場合は、lastRow に ID 値をロードします。
「次へ」については、同じクエリです。
以前の場合:
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
解決策 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 | Microsoft Docs[^]
[ad_2]
コメント