PDA

View Full Version : حذف یه ستون در دیتا گرید که از دیتا تیبل استفاده شد ه باشد



hassan_RK
چهارشنبه 09 شهریور 1384, 17:46 عصر
با سلام

یه سری اطلاعات رو به کمک دیتا ویو فیلتر کردم و در یه دیتا تیبل ریختم (دیتا تیبل دو ستون داره یکی id و دیگری فیلد مربوط به سئوال)بعد به دیتا گرید بایند کردم و بعد به کمک تمپلت 2 تا ستون به دیتا گرید اضافه کردم که یه ستون ردیفه و ستون دیگه اگه روش کلیک بشه محتویات ستون id رو میگیره و در بانک سرچ می کنه و پاسخ مربوط به سئوال رو در یه تکس باکس نمایش می ده (الان دیتا گرید 4 ستون داره که 2تا دیتا تیبل و 2 تا رو هم خودم اضافه کردم )می خوام بعد از گرفتن محتویات ستون id , ستون id رو حذف کنم ولی هر کاری کردم نمی شه و error میده

ممنون می شم اگه کمکم کنید یا راه حل دیگه ای پیشنهاد بدهید

Mahdavi
چهارشنبه 09 شهریور 1384, 18:13 عصر
برای چی میخوای ستون ID رو حذف کنی. اگه نیازی به نمایشش نیست visable اونو false کن.
و فقط در برنامه از مقادیرش استفاده کن.

hassan_RK
چهارشنبه 09 شهریور 1384, 19:24 عصر
با سلام
یه بانک دارم که سئوالات و جوابها در اون هست می خوام تموم سئوالات در یه دیتا گرید لیست بشه و یا اینکه وقتی قسمتی از سئوال داخل تکس باکس نوشته می شه تموم سئوالات مورد نظر در دیتا گرید لیست بشه در کل فقط سئوالات رو می خوام که لیست بشه بعد که جلوی هر کدوم کلیک کردم می خوام id شو بگیره و در بانک . پاسخ مربوط به سئوال رو در یه تکس باکس نشون بده -- برای اینکار نیاز به id دارم و وقتی از دیتا تیبل استفاده می کنم و id رو در دیتا گرید می آره بعد از استفاده می خوام اون ستون رو حذف کنم . امیدوارم درست توضیح داده باشم

اون ستونهایی که من اضافه کردم می تونم visible شون رو false کنم ولی ستونهایی رو که از دیتا تیبل کمک گرفتم visible شون رو false می کنم error می ده .


اگه دارم مسیر رو اشتباه می رم لطفا راهنمایی بفرمائید .
از حسن توجه شما متشکرم

hassan_RK
چهارشنبه 30 شهریور 1384, 15:59 عصر
لطفا یکی جواب بده

kochol
چهارشنبه 30 شهریور 1384, 21:10 عصر
سلام
به نظر من از دیتا گرید استفاده نکن و از ریپیتر استفاده کن که سرعتش هم بیشتر هست.
من خودم یه پرسش و پاسخ سریع ساختم که اول فقط لینک تاپیک هاست و همینطور هم جوابها که با کلیک بر روی هر کدام متنش زیر آن باز می شود و با کلیک بر روی تاپیکی دیگر متن زیر قبلی پاک می شود و متن جدید نمایش داده می شود
نمونش رو هم از لینک زیر نگاه کن.
ببین این به دردت می خوره.
http://www.irangamedev.electronicshops.ir/default.aspx?secid=2&fpage=1

hassan_RK
جمعه 01 مهر 1384, 16:10 عصر
با سلام
دوست عزیز به آدرسی که داده بودید مراجعه کردم همون چیزیه که می خوام
لطفا کد یا یه فایل سمپل قرار بدید چون اصلا با ریپیتر کار نکردم
از حسن توجه شما سپاسگزارم
درضمن آدرس فوق الذکر بیشتر صفحات رو باز نمی کنه و error می ده مخصوصا درقسمت خرید

kochol
شنبه 02 مهر 1384, 20:54 عصر
سلام
ابتدا برای باز و بسته کردن آنها به یک کد جاوااسکریپت احتیاج داری.


<script language="javascript" type="text/javascript">
var i = 0;
function viewtext(i2){
var c;
if (i==0){
c = eval("document.getElementById('" + i2 + "_hl')");
c.style.display = '';
i=i2;
}
else{
c = eval("document.getElementById('" + i2 + "')");
c.style.display = '';
c = eval("document.getElementById('" + i + "')");
c.style.display = 'none';
i=i2;
}
}



کد برای asprepeater
فرض می کنیم که شما در جدولتان 3 فیلد دارید ID & Q & A


<asp:Repeater ID="reQ" Runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><a href='javascript:viewtext(<%# DataBinder.Eval(Container,"DataItem.ID") %>)'><%# DataBinder.Eval(Container,"DataItem.Q") %></a></td>
</tr>
<tr style="display: none" id='<%# DataBinder.Eval(Container,"DataItem.ID") %>'>
<td><%# DataBinder.Eval(Container,"DataItem.A") %></td>
</tr>
</ItemTemplate>
<FooterTemplate></table>
</FooterTemplate>
</asp:Repeater>



این هم کد سمت سرور


Dim DA0 As New SqlClient.SqlDataAdapter("SELECT * FROM Q", "YOUR CONNECTION STRING")
Dim DS0 As New DataSet
DA0.Fill(ds, "Q")
reQ.DataSource = ds
reQ.DataMember = "Q"
reQ.DataBind()



موفق باشی

hassan_RK
پنج شنبه 07 مهر 1384, 19:33 عصر
با سلام
در قسمت جاوا اسکریپت از سطر ; ' ' =c.style.display
error می گیرد

با تشکر از توجه شما

kochol
جمعه 08 مهر 1384, 16:22 عصر
سلام
_hl شو در اون خط بالا یی پاک کن درست می شه

c = eval("document.getElementById('" + i2 + "_hl')");

hassan_RK
شنبه 09 مهر 1384, 14:51 عصر
با سلام
آقا دستت درد نکنه درست شد