在Telerac RadGrid的数据源中遇到问题

时间:2012-03-16 09:22:12

标签: c# telerik radgrid sqldatasource

我对代码感到困惑,需要你的帮助。

由于我的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 个答案:

答案 0 :(得分: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));
        }

答案 1 :(得分:0)

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