PDA

View Full Version : قرار دادن محتوياي يك ركورد در يك dropdownlist



SAMARE
دوشنبه 21 دی 1388, 14:31 عصر
سلام دوستان عزيز

من ميخوام با هر با لود شدن صفحه ركوردي از يك تيبل كه در شرط خاصي صدق ميكنه خونده بشه و محتويات هر فيلد پشت سرهم در صورت نال نبودن به كنترل dropdownlist موجود در صفحه اضافه بشه!!!

من قبلا فقط محتويات يك فيلد خاص از يك ركورد رو درون dropdownlist قرار دادم و اينكار رو براي چندين فيلد يك ركورد انجام ندادم

ممنون ميشم كمكم كنيد!!!

Mostafa_Dindar
دوشنبه 21 دی 1388, 14:45 عصر
سلام دوستان عزیز

من میخوام با هر با لود شدن صفحه رکوردی از یک تیبل که در شرط خاصی صدق میکنه خونده بشه و محتویات هر فیلد پشت سرهم در صورت نال نبودن به کنترل dropdownlist موجود در صفحه اضافه بشه!!!

من قبلا فقط محتویات یک فیلد خاص از یک رکورد رو درون dropdownlist قرار دادم و اینکار رو برای چندین فیلد یک رکورد انجام ندادم

ممنون میشم کمکم کنید!!!

سلام .
احتمالا منظورتون اینه که رکوردهایی که .....

SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
int i = 0;
DropDownList1.Items.Add(new ListItem((string)dr["YourCoulumnText"], (string)dr["YourColumnValue"]));
//يا در مواردي كه ستوني براي Value نداريد
DropDownList1.Items.Add(new ListItem((string)dr["YourCoulumnText"], i.ToString()));
}

فکر میکنم کد کاملا واضحه هست و نیازی به توضیح نداره .

SAMARE
دوشنبه 21 دی 1388, 14:53 عصر
دوست عزيز از جوابتون ممنونم
اين كار براي درج ميحتويات يك فيلد از ركورد ساده است
ولي من در ركوردم 23 فيلد دارم !!!

راه ديگه اي نيست كه اين كار رو انجام ندم؟؟؟

Mostafa_Dindar
دوشنبه 21 دی 1388, 14:57 عصر
دوست عزیز از جوابتون ممنونم
این کار برای درج میحتویات یک فیلد از رکورد ساده است
ولی من در رکوردم 23 فیلد دارم !!!

راه دیگه ای نیست که این کار رو انجام ندم؟؟؟

متوجه هستين ميخواين چيكار كنيد ؟در DrowDownList تنها ميتوانيد ListItem درج كنيد .و ListItem تنها تو فيلد بيشتر ندارد .

بيشتر توضيح بدين تا راهنماييتون كنم .

Mostafa_Dindar
دوشنبه 21 دی 1388, 15:02 عصر
اگر منظورتون اینه که تمام ستونهای یک رکورد در DropDownList درج بشه اینطور میتونید بنویسید. ولی باید تمام ستونهاتون قابل تبدیل به رشته باشند . در غیر اینصورت با خطا روبرو میشید


SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
for (int i = 0; i < dr.FieldCount; i++)
{
DropDownList1.Items.Add(new ListItem((string)dr[i], i.ToString()));
}
}

اگه غیر از اینه بیشتر توضیح بدین تا کمکتون کنم

SAMARE
دوشنبه 21 دی 1388, 15:32 عصر
ببخشيد اين ارور رو ميده :
Conversion from type 'DBNull' to type 'String' is not valid.

آخه برخي از فيلدهاي من null‌هستن!!!

Mostafa_Dindar
دوشنبه 21 دی 1388, 15:40 عصر
ببخشید این ارور رو میده :
Conversion from type 'DBNull' to type 'String' is not valid.

آخه برخی از فیلدهای من null‌هستن!!!

خوب شرط رو اعمال كنيد . اين كه ديگه كاري نداره
If(dr[i]!= DBNull.Value)
{
...
}

SAMARE
دوشنبه 21 دی 1388, 16:20 عصر
خوب شرط رو اعمال کنید . این که دیگه کاری نداره
If(dr[i]!= DBNull.Value)
{
...
}

آره كاري نداره ولي من شرطم رو اشتباه داده بودم كه ارور ميداد
ازتون ممنونم مشكلم حل شد :لبخندساده:

دختر باران
سه شنبه 29 دی 1388, 14:04 عصر
سلام
اگه بخوایم متن درون dropdownlist رو پاک کنیم چه کدی رو باید بنویسیم؟
من اینو می نویسم ولی اشکال می گیره
Dropdownlist1.text="";

کل لیست رو نمی خوام پاک کنم ها , فقط می خوام کادر متن خالی بشه...
ممنون میشم که کدشو بهم بگید.

SAMARE
سه شنبه 29 دی 1388, 14:14 عصر
دوست عزیز منظورتون رو متوجه نمیشم
میخوایید اولين آیتم dropdown تون خالی باشه یا اینکه آیتم خاصی رو از dropdown پاک کنید؟؟؟
میشه بیشتر توضیح بدی عزیزم؟؟؟

Mostafa_Dindar
سه شنبه 29 دی 1388, 14:16 عصر
سلام
اگه بخوایم متن درون dropdownlist رو پاک کنیم چه کدی رو باید بنویسیم؟
من اینو می نویسم ولی اشکال می گیره
Dropdownlist1.text="";کل لیست رو نمی خوام پاک کنم ها , فقط می خوام کادر متن خالی بشه...
ممنون میشم که کدشو بهم بگید.
سلام

میتونید یک آیتم به صورت دستی وارد کنید و مقدار Text اون رو هر چی دوست داشتید بزارید . مثل :
لطفا یک آیتم را انتخاب کنید
یا "--------------------"
یا هر چیز دیگه .

خاصیت Selected رو برابر True قرار دهید تا به صورت پیش فرض در حالت انتخاب شده قرار گیرد .
خاصیت AppendDataBoundItems را مقدار true دهید تا هنگام Bind شدن به هر منبع داده ای مقدار اولیه اون از ببن نرود .

<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True">
<asp:ListItem Selected="True" Value="0">لطفا یک گزینه را انتخاب کنید</asp:ListItem>
</asp:DropDownList>


دليل انجام سوال اولتون رو متوجه نشدم . به هر حال ميتوانيد به 3 صورت زير آيم يا آيتم هاهي يك DropDownList را حذف كنيد .

DropDownList1.Items.Clear();
DropDownList1.Items.RemoveAt(انديس);
DropDownList1.Items.Remove(يك ليست آيتم);
شاد باشید.