الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعبئة Dropdownlist بناء على المستخدم الحالي

بدأه netplusdev في 2 أغسطس 2008 · 9 رد · 1,153 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد أن أقوم بتعبئة DropDownList حسب صلاحية المستخدم... الـ DropDownList هذا موجود داخل DetailsView الذي يقوم بإدخال القيم إلى قاعدة بيانات...

المشكلة أنه جميع القيم يتم إدخالها ما عدا القيمة اللي مفروض يجي من الـ DropDownList هذا الكود اللي عندي:


{
if (User.IsInRole("مدراء"))
{

DropDownList Employees = (DropDownList)DetailsView1.FindControl("DropDownList1");
if (Employees != null)
{
SqlDataSource ddlSqlDataSource = new SqlDataSource();
ddlSqlDataSource.ConnectionString = ConfigurationManager.ConnectionStrings["SalariesConnectionString1"].ToString();
ddlSqlDataSource.SelectCommandType = SqlDataSourceCommandType.Text;
ddlSqlDataSource.SelectCommand = "SELECT EmployeeNo, Fullname FROM Employees";
//ddlSqlDataSource.SelectParameters.Add("DeptNo", DeptNo.ToString());


Employees.DataSource = ddlSqlDataSource;
Employees.DataTextField = "Fullname";
Employees.DataValueField = "EmployeeNo";
Employees.DataBind();

}
}

}
protected void DetailsView1_DataBound(object sender, EventArgs e)
{
DDLemployee();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DDLemployee();
}

}
public void DDLemployee()

#2

مش ماهم عليك انت بدك تعمل تحديث على الداتا بيز

او DropDownList ما بتم تعبئتها

abdullahf4.jpg
#3

آسف ما وضحت...

الآن حسب الكود اللي موجود القائمة يتم تعبئته ما في مشكلة.

أنا مشكلتي أنه القيمة من القائمة ما تدخل في قاعدة البيانات...

#4

ضع الكود الذي يقوم بعمليه الادخال

لو كود مرفق افضل

abdullahf4.jpg
#5

طبعاً يتم الإدخال عن طريق الـ DetailsView وهذا الكود:


DeleteCommand="DELETE FROM [PersonalExit] WHERE [PersonalExitID] = @PersonalExitID"
InsertCommand="INSERT INTO [PersonalExit] ([DateEntry], [InTime], [OutTime], [CalculationMethod], [comments], [EmployeeNo]) VALUES (@DateEntry, @InTime, @OutTime, @CalculationMethod, @comments, @EmployeeNo)"
SelectCommand="SELECT [PersonalExitID], [DateEntry], [InTime], [OutTime], [CalculationMethod], [comments], [EmployeeNo] FROM [PersonalExit]"
UpdateCommand="UPDATE [PersonalExit] SET [DateEntry] = @DateEntry, [InTime] = @InTime, [OutTime] = @OutTime, [CalculationMethod] = @CalculationMethod, [comments] = @comments, [EmployeeNo] = @EmployeeNo WHERE [PersonalExitID] = @PersonalExitID">
<DeleteParameters>
<asp:Parameter Name="PersonalExitID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="DateEntry" Type="DateTime" />
<asp:Parameter Name="InTime" Type="DateTime" />
<asp:Parameter Name="OutTime" Type="DateTime" />
<asp:Parameter Name="CalculationMethod" Type="String" />
<asp:Parameter Name="comments" Type="String" />
<asp:Parameter Name="EmployeeNo" Type="Int32" />
<asp:Parameter Name="PersonalExitID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="DateEntry" Type="DateTime" />
<asp:Parameter Name="InTime" Type="DateTime" />
<asp:Parameter Name="OutTime" Type="DateTime" />
<asp:Parameter Name="CalculationMethod" Type="String" />
<asp:Parameter Name="comments" Type="String" />
<asp:Parameter Name="EmployeeNo" Type="Int32" />
</InsertParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SalariesConnectionString1 %>"

#6

عليك ان تمرر قيمة DropdownList المختارة

شيئ من هذا القبيل

protected void Sql_Inserting(object sender, SqlDataSourceCommandEventArgs e)
	{
		DropDownList Employees = (DropDownList)DetailsView1.FindControl("DropDownList1");
		e.Command.Parameters["@EmployeeNo"].Value = Employees.SelectedValue;
	}

The World Must Be Crazy

#7

جربت ما نفع نفس الشيء.. ما أدري ليش ما ياخذ القسيمة... استخدمت كود مماثل يملأ DropDownList آخر خارج DetailsView ومرتبط بـ GridView يظهر فيه البيانات على أساس الاختيار وماشي تمام.. بس داخل ال DetailsView هنا... في مشكلة؟؟؟

#8
 

 protected void SqlDataSource1_Updating(object sender, SqlDataSourceCommandEventArgs e)
	{

		DropDownList d = (DropDownList)DetailsView1.FindControl("DropDownList1");
		e.Command.Parameters["@EmployeeNo"].Value = d.SelectedValue;
		e.Command.Parameters["@PersonalExitID"].Value = DetailsView1.SelectedValue;
	}

تم تعديل هذه المشاركة بواسطة c++2003 في 3 أغسطس 2008 في 09:07

abdullahf4.jpg
#9

انحلت المشكلة:

protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
	{
		DropDownList Employees = (DropDownList)DetailsView1.FindControl("DropDownList1");
		e.Values["EmployeeNo"] = Employees.SelectedValue;
	}
#10

اخيرا , حمد لله على السلامة

The World Must Be Crazy

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…