PDA

View Full Version : GridView خاص



mahdi_negahi
سه شنبه 22 آبان 1386, 08:12 صبح
سلام
دوستان فرض کنید من یک gridview با 4 ستون دارم میخواهم بالای ستون 1و2 و در وسط آنها یک متنی نوشته شود:گیج:

hamed_bostan
سه شنبه 22 آبان 1386, 08:24 صبح
سلام آق مهدی
یعنی چی که میخوای وسط ستون بالاش یه چیزینوشته بشه . مظمعنا منظورت column header نبوده یه چیز دیگه بوده . یه عکسی توضیحی بذار ببینیم دقیقا چی می خوای
خوش باشی

mahdi_negahi
سه شنبه 22 آبان 1386, 08:48 صبح
مثل این حامد جان مستطیل ها رو نگاه کن
میخوام در قالب GridView باشد

maxpayn2
سه شنبه 22 آبان 1386, 10:23 صبح
سلام
فایل ضمیمه رو نیگا کن

mahdi_negahi
سه شنبه 22 آبان 1386, 10:48 صبح
دوست عزیز این که یک grid معمولی است ( البته شاید چون DataBound یا RowCreate ندادی تغییری نکرده)
ببین دوست عزیز من یک گرید میخوام مثل عکس بالا
توی آن عکس مبینی یک مستطیل هایی با رنگ نارنجی و سبز که من میخوام متنم آنجا باشد

maxpayn2
سه شنبه 22 آبان 1386, 10:55 صبح
آهان ، ببخشید ، دفعه اول عکس رو درست ندیدم

mahdi_negahi
سه شنبه 22 آبان 1386, 14:51 عصر
خوب خودم یک کارایی با جاوا اسکریپت کردم ولی حال نداد به خودم اگر کسی راهی به ذهنش میرسه بگه

function SetGridResultHeader()
{

var gr =document.getElementById("grv_Result");
var row = gr.insertRow(0)
var cell = row.insertCell(0);
cell.colSpan = 3;
cell.bgColor = 'yellow';

var cell = row.insertCell(1);
cell.innerHTML = "مانده حساب" ;
cell.colSpan = 2;
cell.bgColor = 'yellow';
cell.fontsize = 8;

var cell = row.insertCell(2);
cell.innerHTML = "گردش حساب" ;
cell.bgColor = 'yellow';
cell.colSpan = 2;
cell.fontsize = 8;

// gr.appendChild(cell0);

/// document.body.appendChild(gr);
return false;
}

miladr
سه شنبه 22 آبان 1386, 16:23 عصر
باید از template استفاده کنی و بعد واسه اون دوتا از table استفاده کنی
البته یه راه سخت تر و بی فایده ترم اینه که از grid داخل grid استفاده کنی

hamed_bostan
سه شنبه 22 آبان 1386, 16:24 عصر
مهدی فکر نکنم با خود گرید بشه این کارو کرد . فکر کنم در اصل میخوای یه هدر یا یه زبونه اضافی فقط روی 2 تا ستون خاصت اضافه کنی . فکر کنم با خود گرید نشه

mahdi_negahi
سه شنبه 22 آبان 1386, 17:07 عصر
آره حامد جان خودمم به این نتیجه رسیدم
اون کد جاوا که نوشتم این کارو میکنه
جناب راد شما هم یک کمکی بکنید

SalarSoft
سه شنبه 22 آبان 1386, 18:40 عصر
راه حل شما خیلی ساده در ترتیب استفاده از colspan است:

نمونه یک table:


<table border="1" style="width: 100%;">
<thead>
<tr>
<td align="center" colspan="2">
عنوان</td>
<td align="center" colspan="2">
عنوان</td>
<td align="center" colspan="3"></td>
</tr>
</thead>
<tbody>
<tr>
<td>
متن</td>
<td>
متن</td>
<td>
متن</td>
<td>
متن</td>
<td>
متن</td>
<td>
متن</td>
<td>
متن</td>
</tr>
</tbody>
</table>


شاید بخویای چیزی مثل این رو برای GridView استفاده کنی:


<table border="1" style="width: 100%;">
<thead>
<tr>
<td align="center">
عنوان</td>
<td align="center">
عنوان</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</td>
</tr>
</tbody>
</table>

mahdi_negahi
چهارشنبه 23 آبان 1386, 09:06 صبح
راه حل شما برای اینکه بخواهیم کل گرید را به دو گروه تقسیم کنیم خوبه ولی من میخواهم 4 ستون از 8 ستون این خاصیت را داشته باشد و اینکه طول هر سلول هم متغییر است
کد جاوایی که نوشتم کار میکنه ولی یک مشکل داره
من میخوام وقتی grid نمایش داده شد آن کد اجرا شود تا سطر صفرم اضافه شود

SalarSoft
چهارشنبه 23 آبان 1386, 17:57 عصر
راه حل همونی بود که تو پست قبلیم گفتم.
کد جاوایی که نوشتید هم دقیقا همین کار رو میکنه. اگه به مقادیر colspan دقت کنید!

تنها مشکلی که باقی میمونه این مورد است که می خوای:

اینکه طول هر سلول هم متغییر است
که به نظر می رسه برای GridView راه حلی وجود نداره.
تنها راهی که می مونه همون JavaScript که نوشتی و مشکلی که میگه داره رو اینطوری حل کن که کد جاوا اسکریپت رو دقیقا بعد از تگ gridView فراخوانی کن. البته در این حالت کمی گرید پرپر خواهد زد.
نمونه: کد جاوا اسکریپت رو در محلی که گفتم بنویس:


<script language="javascript" type="text/javascript">
function SetGridResultHeader(){
// Insert your code here to load it before grid view control
}
</script>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<script language="javascript" type="text/javascript">
SetGridResultHeader();
</script>

mahdi_negahi
چهارشنبه 23 آبان 1386, 20:29 عصر
مرسی هاجی
من updatepanel دارم توی پروژه ام البته این کارو با اسکریت maneger حل کردم راه شما هم فردا امتحان میکنم