我想根據從wcf服務檢索到的數據綁定我的gridview。但它只顯示gridview中的最後一行數據,而不是全部顯示它們。如何將gridview綁定到wcf服務應用程序?
這裏是我的WCF:
try
{
DSCustomer dscat = new DSCustomer();
//input is EmpUserID
cmd.Parameters.AddWithValue("@myuser", id);
cmd.CommandText = "mystoredproc";
List<DSCustomer> lst = new List<DSCustomer>();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
dscat.MyEmpID = Convert.ToInt32(dr["Emp"]);
dscat.MyEmpName = dr["EmpName"].ToString();
dscat.MyUnitName = dr["UnitName"].ToString();
dscat.MyUnitNumber = Convert.ToInt32(dr["Unit"]);
dscat.MyRole = dr["Role"].ToString();
dscat.MySurveyStatus = dr["SurveyStatus"].ToString();
//Add all the returns in to the list from back-end
lst.Add(dscat);
}
//returns to the list
return lst;
}
這是DScustomer
public class DSCustomer
{
//Created properties based on the count of the data that we want to retrieve
public int MyEmpID { get; set; }
public string MyEmpName { get; set; }
public string MyUnitName { get; set; }
public int MyUnitNumber { get; set; }
public string MyRole { get; set; }
public string MySurveyStatus { get; set; }
}
而且我的Default.aspx:
protected void Button1_Click(object sender, EventArgs e)
{
MyServiceClient client = new MyServiceClient();
Customer cust = new Customer();
cust = client.getCategori(tbEmpID.Text);
var list = new List<Customer> { cust };
GridView1.DataSource=list;
GridView1.DataBind();
}
愚蠢的問題。這是服務的真實代碼嗎?我在while循環中沒有看到任何地方實例化任何dscat的新實例。所以這些值每次都會被覆蓋。 – Rich
不要那樣。只是分享你的答案,我沒有分享這個問題聽到你的sl。聲。 – Abdullah
@Abdullah什麼是WCF方法簽名和什麼是'client.getCategori'返回類型? – Damith