2012-10-24 6 views
0

我綁定一個DropDownList我在第一列名字和姓氏的DDL在第二列篩選表達「姓」不計算爲布爾項

protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e) 
    { 
     DataTable myTable = new DataTable(); 

     DataColumn productIDColumn = new DataColumn("FirstName"); 

     DataColumn productNameColumn = new DataColumn("LastName"); 

     myTable.Columns.Add(productNameColumn); 
     DataSet ds = new DataSet(); 

     ds = get(); 
     if (e.Row.RowType == DataControlRowType.DataRow) 

{ 

var categoryID = (e.Row.Cells[0].Text); 

    var expression = "FirstName "+categoryID; 

DropDownList ddl = (DropDownList)e.Row.FindControl("DropDownList1"); 

DataRow[] rows = ds.Tables[0].Select(expression); 


       foreach (DataRow row in rows) 

{ 

DataRow newRow = myTable.NewRow(); 

newRow["UserId"] = row["UserId"]; 

newRow["LastName"] = row["LastName"]; 

myTable.Rows.Add(newRow); 

} 

ddl.DataSource = myTable; 

ddl.DataTextField = "LastName"; 

ddl.DataValueField = "UserId"; 

ddl.DataBind(); 

} 

我越來越像過濾器的錯誤表達式'FirstName'不計算爲DataRow [] rows = ds.Tables [0] .Select(expression);中的布爾項。任何人都可以幫助我?

+0

是「DDL​​」在這種情況下指的是下拉列表? – RQDQ

+0

是下拉列表 –

回答

1

你的表情並沒有任何意義。我希望沿着線的東西:

var expression = "FirstName = 'John'"; 

var expression = "CategoryId = 42"; 

退房的文檔的選擇方法:http://msdn.microsoft.com/en-us/library/det4aw50.aspx

+0

哎呀我想念但即使我不喜歡的是,DDL空。 –

0

你需要在你的表達,比較2倍的值。閱讀這篇文章:C# DataTable Select

+0

即使我比較值,DDL是空的。 –

+0

你確定你的表情是正確的嗎?您將FirstName與ID進行比較(或者它看起來像這樣):var expression =「FirstName =」+ categoryID; – Razvan

+0

事情是甚至是類別也是空的不知道爲什麼? –