|
|
|
ใส่ Gridview ใน Panel แล้วปรับขนาดของ Gridview ไม่ได้เป็นเพราะอะไรหรอค่ะ |
|
|
|
|
|
|
|
ข้อมูลใน Gridview มันเยอะมากค่ะ เรยต้องใส่ใน Panel เพื่อให้มี ScrollBars แต่ปรับขนาด Gridview แล้วมันไม่ปรับตาม
หน้าอื่นใส่โค้ดเดียวกัน Gridview ขนาดมันกะเปลี่ยนตามอ่ะ มันเป็นเพราะอะไรหรอค่ะ
Code (ASP)
<script>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//ความกว้างคอลัมภ์
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[0].Style.Add("Width", "140px");
e.Row.Cells[1].Style.Add("Width", "140px");
e.Row.Cells[2].Style.Add("Width", "110px");
e.Row.Cells[3].Style.Add("Width", "100px");
e.Row.Cells[4].Style.Add("Width", "100px");
e.Row.Cells[5].Style.Add("Width", "100px");
e.Row.Cells[6].Style.Add("Width", "900px");
e.Row.Cells[7].Style.Add("Width", "100px");
e.Row.Cells[8].Style.Add("Width", "100px");
e.Row.Cells[9].Style.Add("Width", "100px");
}
}
</script>
<html>
<head></head>
<body>
<asp:Panel ID="Panel1" runat="server" Width="700px" ScrollBars="Auto">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
style="font-family: Arial, Helvetica, sans-serif; font-size:medium;">
<Columns>
<asp:BoundField DataField="Date" HeaderText="วันที่" />
<asp:BoundField DataField="Time_History" HeaderText="เวลา" />
<asp:BoundField DataField="Cs_Method" HeaderText="Cs_Method" />
<asp:BoundField DataField="Cs_Uri_Stem" HeaderText="Cs_Uri_Stem"/>
<asp:BoundField DataField="Cs_Uri_Query" HeaderText="Cs_Uri_Query"/>
<asp:BoundField DataField="Cs_UserAgent" HeaderText="Cs_UserAgent"/>
<asp:BoundField DataField="Sc_Status" HeaderText="Sc_Status"/>
<asp:BoundField DataField="Sc_Substatus" HeaderText="Sc_Substatus"/>
<asp:BoundField DataField="Sc_Win32_Status" HeaderText="Sc_Win32_Status"/>
<asp:BoundField DataField="Time_Taken" HeaderText="Time_Taken"/>
</Columns>
<HeaderStyle Font-Size="Small" Height="50px" />
<RowStyle Font-Size="Small" Height="30px" />
</asp:GridView>
</asp:Panel>
</body>
</html>
Tag : .NET, Ms SQL Server 2012, Web (ASP.NET), C#
|
|
|
|
|
|
Date :
2013-09-29 20:29:07 |
By :
TBG'z |
View :
3403 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้ไม่เกี่ยวกับ vb เลยนะครับ เป็นหลักการของแสดงผล html
คืองี้ครับ ถ้าเรากำหนดความกว้าง div แล้วภายใน div เป็น table โดย table ไม่ได้กำหนดขนาดมันไม่เกินขนาด div อย่างตัวอย่างของคุณ
div:width = 700px ดังนั้น table:width จะกว้างสูดสุดที่ 700px
และเช่นกัน หลักการ table นั้น ถ้ามีการกำหนดขนาด table แล้ว ต่อให้ฝืนกำหนด td หรือ th โดยผลรวมความกว้างจะมากกว่า table ไม่ได้ อย่างตัวอย่างของคุณ
table:width:700px ( โดยอิงความกว้างสูงสุด ) แล้วผลรวมของการกำหนด th ใหม่คือ 1890px สุึดท้ายแล้วความกว้างก็ไม่มากกว่า 700px ครับ
มีขอยกเว้นกรณีอยู่ว่าตัวอักษรภายใน td,th นั้นกว้างกว่าความกว้าง td,th ความกว้างโดยรวมนั้นอาจมากกว่า table ก็ได้ครับ
สรุปแล้วิธีแก้ให้กำหนดความกว้าง table ไปเลยครับหรือใส่ div ภายใน th,td อีกชั้น สำหรับกรณีแก้อันหลังนี้สำหรับ gridview คงยุ่งยาก ดังนั้นวิธีแก้ง่ายสุดคือกำหนด table ครับ
asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" style="font-family: Arial, Helvetica, sans-serif; font-size:medium;width:1890px">
จากนั้นก็กำหนดความกว้างของ th,td ได้เลยครับโดยแบ่งสัดส่วนไม่ให้เกินความกว้าง width ที่กำหนดครับ
|
ประวัติการแก้ไข 2013-09-30 03:16:05 2013-09-30 03:18:22
|
|
|
|
Date :
2013-09-30 03:12:41 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-09-30 06:00:44 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|