ASP.NET مصدر البيانات وربط البيانات GridView، وتحديد قيمة المعلمة برمجيا

StackOverflow https://stackoverflow.com/questions/1044186

سؤال

وهكذا، ولدي GridView مع ObjectDataSource، وأريد أن تعيين برمجيا واحدا من SelectParameters من ObjectDataSource.

وحاولت (على حد سواء خلال Page_Load وDropdownList__SelectedIndexChanged)

objectDataSource.SelectParameters["my_parameter"].DefaultValue = "my_value";
objectDataSource.DataBind();

ولكن ذلك لم ينجح. ماذا تقترح؟

هل كانت مفيدة؟

المحلول

وفخ الحدث onselecting على مصدر البيانات.

protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
    e.InputParameters["month"] = DateTime.Now.Month;
}

نصائح أخرى

فما باللك، وحلها بنفسي.

في Page_Load:

objectDataSource.Selecting += new ObjectDataSourceSelectingEventHandler(objectDataSource_Selecting);

وثم كتابة أسلوب معالج:

void objectDataSource_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
    int four = 2 + 2;
    e.InputParameters["my_parameter"] = four;
}

وبعد ذلك تأكد من DataBind عناصر في GridView مكان

protected void dropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
    gridView.DataBind();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top