2012-03-16 126 views
0

我有點卡住了代碼,需要你的幫助。在Telerik RadGrid的Datasource中遇到問題

由於我的radgrid控件持有RadAsyncUpload保存在文件系統中的文件,所以我必須配置我的代碼:(數據源...或者你可以說這是我知道如何使它發揮作用的唯一途徑。

我堅持與選擇命令「WHERE」 ..任何人都可以指導我如何提的選擇參數請

這裏是我的代碼;

public static string ConnectionString 
{ 
    get 
    { 
     return ConfigurationManager.ConnectionStrings["BaseConn"].ConnectionString; 
    } 
} 


protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) 
{ 
    string PhoneID = RadComboBox1.SelectedItem.Value; 
    RadGrid1.DataSource = GetDataTable("SELECT * FROM [Products] WHERE ([ProductID] = @PhoneID)"); 
} 

private static DataTable GetDataTable(string queryString) 
{ 
    SqlConnection MySqlConnection = new SqlConnection(ConnectionString); 
    SqlDataAdapter MySqlDataAdapter = new SqlDataAdapter(); 
    MySqlDataAdapter.SelectCommand = new SqlCommand(queryString, MySqlConnection); 

    DataTable myDataTable = new DataTable(); 
    MySqlConnection.Open(); 
    try 
    { 
     MySqlDataAdapter.Fill(myDataTable); 
    } 
    finally 
    { 
     MySqlConnection.Close(); 
    } 

    return myDataTable; 
} 

任何想法,我可以提供的ProductID選擇參數?

回答

2

我不知道我完全理解你的問題,但你只是想看看你的phoneId到你的查詢字符串中嗎?

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) 
     { 
      string PhoneID = RadComboBox1.SelectedItem.Value; 
      RadGrid1.DataSource = GetDataTable(string.Format("SELECT * FROM [Products] WHERE ([ProductID] = {0})", PhoneID)); 
     } 
+0

感謝布賴恩,它解決了我的問題:) .....我現在具有唯一的問題是radgrid控件刷新....網格不更新,除非我刷新..已嘗試在頁面加載中回傳 – 2012-03-16 21:44:14

0

RadGrid1.DataBind(); <===== INSERT THIS AFTER RadGrid1.DataSource line

+0

在RadGrid1_NeedDataSource中調用DataBind將引發異常。 – sm14 2015-12-16 13:56:58