Возникли проблемы в источнике данных для Telerik RadGrid - PullRequest
0 голосов
/ 16 марта 2012

Я немного застрял с кодами и нуждаюсь в вашей помощи.

Поскольку мой RadGrid содержит RadAsyncUpload для сохранения файла в файловой системе, поэтому я должен настроить свой источник данных в кодах :( ... или вы можетескажи, что это единственный способ, которым я знаю, как заставить его работать.

Я застрял с командой Select с "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 ]

2 голосов
/ 17 марта 2012

Я не уверен, что полностью понимаю ваш вопрос, но вы просто хотите вставить свой 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 голосов
/ 25 февраля 2013

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

...