我正在設計一個C#表單程序,它使用列表框來顯示來自SQL數據庫的搜索結果。搜索功能可以工作,但現在我希望能夠選擇其中一個列表框行並將所選數據(來自SQL數據庫)加載到新表單中。該計劃追蹤我們公司的客戶。當用戶鍵入某些條件時,列表框會被填充。我不熟悉SQL和C#表單設計,所以任何幫助都會很棒。我在列表框和搜索框下方留下了截圖。表單列表框和SQL數據庫
回答
帶你願意,你可以做到這一點(在後面的代碼)的項目:
public void Test(object sender, EventArgs e)
{
ListBox list = (ListBox)sender;
var item = list.SelectedItem;
}
一旦你的項目,你可以將它與一個事件或加載數據的方法。
你想調查的是你正在查看的各種控件的DataBinding屬性。
哇,非常快速的答案,謝謝。該程序是一個Windows C#表單程序,我沒有使用銀光。同樣抱歉的截圖,我沒有足夠的帖子在這個網站上傳照片。我只有一些控件的DataBinding屬性的一些經驗,但不知道如何在這種情況下應用它。我有一個文本框和組合框,它允許用戶在SQL數據庫上進行搜索。搜索工作並在C#表單列表框中顯示結果。 – user1143831 2012-01-11 18:53:54
我有一個快速搜索一個多月ago.This是我code.I希望它能幫助你:
這是我的存儲過程的SQL中的全碼:
USE [Khane]
GO
/****** Object: StoredProcedure [dbo].[QuickSerch] Script Date: 01/11/2012 22:24:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[QuickSerch]
@item nvarchar(300)=null
AS
BEGIN
select * from PersonsDataTbl
where
Name like '%'[email protected]+'%' or
LastName like '%'[email protected]+'%' or
FatherName like '%'[email protected]+'%' or
NationalCode like '%'[email protected]+'%' or
ShenasnameCode like '%'[email protected]+'%' or
BirthDate like '%'[email protected]+'%' or
State like '%'[email protected]+'%' or
City like '%'[email protected]+'%' or
Address like '%'[email protected]+'%' or
PostalCode like '%'[email protected]+'%' or
SportType like '%'[email protected]+'%' or
SportStyle like '%'[email protected]+'%' or
RegisterType like '%'[email protected]+'%' or
Ghahremani like '%'[email protected]+'%'
END
,如果你不不知道存儲過程,你可以搜索它。
,這是我的C#代碼將數據發送到存儲過程和獲取數據的形式,它:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;
namespace DL
{
public class DLQuickSerch
{
List<Common.CommonPersonSerchResult> SerchResult = new List<Common.CommonPersonSerchResult>();
public DLQuickSerch(string Item)
{
SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=Khane;Integrated Security=True");
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "QuickSerch";
SqlParameter item = new SqlParameter("item", SqlDbType.NVarChar, 300);
item.Value = Item;
command.Parameters.Add(item);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Common.CommonPersonSerchResult res = new Common.CommonPersonSerchResult();
res.ID = (int)reader.GetValue(0);
res.FirstName = reader.GetValue(1).ToString();
res.LastName = reader.GetValue(2).ToString();
res.FatherName = reader.GetValue(3).ToString();
res.NationalCode = (int)reader.GetValue(4);
res.ShenasnameCode = (int)reader.GetValue(5);
res.BirthDate = reader.GetValue(6).ToString();
res.State = reader.GetValue(7).ToString();
res.City = reader.GetValue(8).ToString();
res.Address = reader.GetValue(9).ToString();
res.PostalCode = reader.GetValue(10).ToString();
res.SportType = reader.GetValue(11).ToString();
res.SportStyle = reader.GetValue(12).ToString();
res.RegisterType = reader.GetValue(13).ToString();
res.Ghahremani = reader.GetValue(14).ToString();
SerchResult.Add(res);
}
connection.Close();
}
public List<Common.CommonPersonSerchResult> GetQuickSerchResult()
{
return SerchResult;
}
}
}
,你應該用你的數據庫的數據
改變SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=Khane;Integrated Security=True");
,這是我的顯示代碼在ListView數據:
private void QuickSearch(string item)
{
DL.DLQuickSerch qc = new DL.DLQuickSerch(item);
List<Common.CommonPersonSerchResult> reslt = qc.GetQuickSerchResult();
FillListView(reslt);
}
private void FillListView(List<Common.CommonPersonSerchResult> list)
{
SerchResultList.Items.Clear();
foreach (Common.CommonPersonSerchResult c in list)
{
ListViewItem item = new ListViewItem();
item.Text = c.ID.ToString();
item.SubItems.Add(c.FirstName);
item.SubItems.Add(c.LastName);
item.SubItems.Add(c.FatherName);
item.SubItems.Add(c.NationalCode.ToString());
item.SubItems.Add(c.ShenasnameCode.ToString());
item.SubItems.Add(c.BirthDate);
item.SubItems.Add(c.State);
item.SubItems.Add(c.City);
item.SubItems.Add(c.PostalCode.ToString());
item.SubItems.Add(c.SportType);
item.SubItems.Add(c.SportStyle);
item.SubItems.Add(c.RegisterType);
item.SubItems.Add(c.Ghahremani);
item.Tag = c;
SerchResultList.Items.Add(item);
}
}
和我Common.CommonPersonSerchResult
只是一個類的屬性。
要小心,這是我的代碼,當你需要使用它在你的項目
用於顯示在新的形式的數據,你可以保存從DB在列表框的標籤獲得了數據,你應該改變它,後得到新形式的構造函數中的數據,並在您使用它的新form.It是如此easy.To作出新的形式,你可以用列表框的選擇更改事件的工作是這樣的:
private void SerchResultList_SelectedIndexChanged(object sender, EventArgs e)
{
if (SerchResultList.SelectedItems.Count != 0)
{
Form2 = new Form2(SerchResultList.SelectedItems[0].Tag);
}
}
這個代碼是爲一個ListView,我認爲ListBox中只有一個SelectedItem,你的方法將如下所示:
private void SerchResultList_SelectedIndexChanged(object sender, EventArgs e)
{
if (SerchResultList.SelectedItem != null)
{
Form2 = new Form2(SerchResultList.SelectedItem);
}
}
,你應該給列表框中的數據作爲一個列表框的項目,你應該重寫你的數據CALSS的的ToString()方法來顯示在ListBox中你需要的數據。
- 1. 操作數據框列表和列表數據框列表
- 2. 從列表框和數據庫
- 3. 列表的SQL數據庫
- 4. 列表框數據庫
- 5. 將列表框中的數據傳輸到SQL數據庫
- 6. VBA - 列表框和數據
- 7. 從數據庫饋送列表框中獲取SelectedItems列表框
- 8. 單擊列表訪問數據表單數據庫查看
- 9. SQL數據庫表
- 10. OpenBSD數據庫/ sqlports的列表表和字段sqlite3數據庫
- 11. 通過列表框獲取SQL數據
- 12. Sharepoint表單寫入到sql數據庫
- 13. HTML表單到SQL數據庫
- 14. PHP表單提交到SQL數據庫
- 15. 將表單連接到SQL數據庫
- 16. C#提交表單與sql數據庫
- 17. PHP表單更新SQL數據庫
- 18. 從列表視圖傳輸到列表框並更新SQL Server數據庫
- 19. 列表下拉到PHP SQL數據庫
- 20. 查詢列表從SQL數據庫
- 21. 從SQL Server獲取數據庫列表
- 22. SQL:從一列在數據庫的表
- 23. SQL數據庫與表中的列
- 24. .NET列表框到SQLite數據庫
- 25. 使用列表框更新數據庫
- 26. 數據列表框
- 27. SQL Oracle 10g列出所有數據庫表和列
- 28. 使用Python,sqlite3和列表更新SQL數據庫中的列
- 29. 負載從一個SQL Server數據庫C#組合框列表
- 30. 插入SQL數據庫中的foreach與複選框列表
「我在列表框和搜索框的下方留下了截圖。」不,你沒有。 – ean5533 2012-01-11 18:34:19
什麼樣的形式? Silverlight的? – 2012-01-11 18:36:44