ทำให้ TemplateField ของ GridView เป็น readonly [ASP.NET]


ก็ใส่  ReadOnly=”True” เข้าไปตรง tag <asp:TextBox …  ></asp:TextBox>

ซึ่งถ้าใส่แค่นี้ เมื่อกด Edit ที่ row นั้นยังจะทำให้เห็นขอบของ field และ ขนาด field จะขยายขึ้นเอง(ไม่รู้เหมือนกันว่าทำไม) จึงต้องใส่ code เพิ่มเป็น   Width=”50″ BorderWidth=”0″ ReadOnly=”True” เพื่อกำหนดขนาดของขอบ field ตามต้องการและให้ไม่มีขอบ

 

รูปนี้คือก่อนกดแก้ไข

 

เมื่อใส่  ReadOnly=”True” อย่างเดียว จะเห็นว่า Lab_no ยังมีกรอบอยู่ทำให้สับสนว่าสามารถแก้ไขได้ และขนาด feild จะมากขึ้น ทำให้การแสดงผลที่ไม่สวยงาม

เมื่อใส่  Width=”50″ BorderWidth=”0″ ReadOnly=”True” ก็ดูดีขึ้น

 

Code:

<asp:TemplateField HeaderText=”lab_no” SortExpression=”LAB_NO”>
<ItemTemplate>
<asp:Label ID=”LAB_NO” runat=”server” Text='<%# Bind(“LAB_NO”) %>’></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID=”TextBox3″ runat=”server” Width=”50″ BorderWidth=”0″ ReadOnly=”True” Text='<%# Bind(“LAB_NO”) %>’></asp:TextBox>
</EditItemTemplate>
<ItemStyle Width=”50px” Wrap=”False” />
</asp:TemplateField>

 

เพิ่มเติมสำหรับการแก้ไขคำว่า Edit เป็น แก้ไข, Select เป็น ดู หรือ Cancle เป็น ยกเลิก

<asp:CommandField HeaderText=”Comment ทั้งหมด” ShowEditButton=”True” CancelText=”ยกเลิก” EditText=”แก้ไข” SelectText=”ดู” UpdateText=”ตกลง”
ShowSelectButton=”True” />

มันก็ปรับใน Tools ได้นะครับ แต่เผื่ออยาก Replace All หากมีต้องแก้ไขหลายๆที่

 

 

ติดป้ายกำกับ:

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: