|
|
|
C# Windows Store Application นำข้อมูลใน SQL Server ไว้ใน ComboBox อย่างไร (Windows 8.1) |
|
|
|
|
|
|
|
ผมนำข้อมูลจาก Database (SQL Server) โดยใช้ Web Service แล้วให้แสดงรายการใน ComboBox
ผมใช้ ItemSource แต่ไม่ยอมออกเป็น Text ที่ต้องการเลยครับ ออกแต่แบบนี้ (ดังรูป)
SqlWsv.asmx.cs (C#)
[WebMethod]
public string getPermissionList()
{
SqlConnection objConn;
SqlCommand objCmd;
SqlDataAdapter dtAdapter;
DataSet ds;
DataTable dt;
String strConnString, strSQL;
string json;
objConn = new SqlConnection();
objCmd = new SqlCommand();
dtAdapter = new SqlDataAdapter();
ds = new DataSet();
strConnString = "Server = localhost; UID = sa; PASSWORD = password; Database = database; Max Pool Size = 400; Connect Timeout = 600";
strSQL = "SELECT PERMISSION_NAME FROM PERMISSION";
objConn.ConnectionString = strConnString;
objCmd.Connection = objConn;
objCmd.CommandText = strSQL;
objCmd.CommandType = CommandType.Text;
dtAdapter.SelectCommand = objCmd;
dtAdapter.Fill(ds);
dt = ds.Tables[0];
dtAdapter = null;
objConn.Close();
objConn = null;
json = JsonConvert.SerializeObject(dt, Formatting.Indented);
return json;
}
MainPage.xaml (XAML)
<ComboBox x:Name="cmbLevel" ItemsSource="{Binding}" Margin="225,445,941,279"/>
MainPage.cs (C#)
public class Permission
{
public string PERMISSION_NAME { get; set; }
}
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
var client = new AppITWsv.SqlWsvSoapClient();
var pmsResult = await client.getPermissionListAsync();
string pmsJsonData = pmsResult.Body.getPermissionListResult;
MemoryStream pmsMs = new MemoryStream(Encoding.UTF8.GetBytes(pmsJsonData));
ObservableCollection<Permission> pmsList = new ObservableCollection<Permission>();
DataContractJsonSerializer pmsSerializer = new DataContractJsonSerializer(typeof(ObservableCollection<Permission>));
pmsList = (ObservableCollection<Permission>)pmsSerializer.ReadObject(pmsMs);
List<Permission> items = new List<Permission>();
foreach (Permission permission in pmsList)
{
items.Add(new Permission { PERMISSION_NAME = permission.PERMISSION_NAME.ToString() });
}
this.cmbLevel.ItemsSource = items;
}
ถ้า Message Dialog ดู ก็ออกตามที่ต้องการ แต่พอเอาใส่ใน ComboBox กลับขึ้นแต่รูปด้านบนสุดครับ หรือผมพลาดอะไรไป
Tag : .NET, Win (Windows App), WebService, C#, Windows, Web Service
|
|
|
|
|
|
Date :
2014-10-21 17:57:46 |
By :
seattlesonic |
View :
1107 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันที่จริงการทำ Binding ไม่มีอะไรซับซ้อนครับ แค้ตรวจสอบข้อมูลตอนอ่านจาก Web Services มัน Binding ลงถูกหรือไม่
Code (C#)
foreach (Permission permission in pmsList)
{
items.Add(new Permission { PERMISSION_NAME = permission.PERMISSION_NAME.ToString() });
}
Windows Store Apps DataBinding - ListBox / Database Binding (C#)
Windows Store Apps DataBinding - ListView / Database Binding (C#)
|
|
|
|
|
Date :
2014-10-22 14:21:29 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@หนุ่ม seattlesonic ลุงรบกวนถามนิดหนึ่งว่า .NET 4.0 ใช้แบบนี้ได้ไหม?
อยากใช้คำสั่ง aysnc/await บน .NET 4.0
Code (C#)
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
var client = new AppITWsv.SqlWsvSoapClient();
var pmsResult = await client.getPermissionListAsync();
|
|
|
|
|
Date :
2014-10-22 16:20:05 |
By :
หน้าฮี |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|