1.ItemStyle-Wrap="False"
按了Edit后,会出现Update和Cancel,列宽大了,居然给自动换行,这样就不好看了
2.传parameter的时候,DefaultValue=" "字符串中留有空格才行,如果是DefaultValue="",传进去的将是Nothing
<SelectParameters>
<asp:ControlParemeter ControlID="Name" Name="Name" PropertyName="Text" Type="String" DefaultValue=" ">
...
<asp:Parameter Name="maxinumRows" Type="Int32">
<asp:Parameter Name="startRowIndex" Type="Int32">
<asp:Parameter Name="sortBy" Type="String" DefaultValue=" ">
</SelectParameters>
3.GridView1的隐藏列DataKeyNames="Id"
<asp:GridView ID="GridView1" runat="server" ... DataKeyNames="Id">
在后台可以使用GridView1.DataKeys(index).value来得到它
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
Select Case e.CommandName
Case "Edit"
Dim index as Int32=Convert.ToInt32(e.CommandArgument)
Dim id as Integer=CInt(GridView1.DataKeys(index).value)
...
Case "Update"
Case "Delete"
Case "Cancel"
End Select
End Sub
3.给界面上的DropDown List或GridView指定数据源时,少使用 DataSourceID,尽量使用DataSource
因为指定DataSourceID是自动绑定数据源,当用Jquery改变了里面的option选项,总会导致被ObjectDataSource覆盖
甚至当GridView点Edit button,也会在后台自动调用
DataSourceID:
<asp:TemplateField HeaderText="test2" SortExpression="Lv2"> <ItemTemplate> <%# Eval("Lv2")%> </ItemTemplate> <EditItemTemplate> <asp:dropdownlist ID="test2" width="148px" runat="server" Text='<%# Bind("Lv2") %>' DataSourceID="dsTest" DataTextField ="Info" DataValueField ="Code"> </asp:dropdownlist> </EditItemTemplate> <ItemStyle Width="150px" /> </asp:TemplateField>
<asp:ObjectDataSource ID="dsTest" runat="server" SelectMethod="getInitDT" TypeName="SettingPage"> <SelectParameters> <asp:Parameter Name="ddl_type" Type="Int32" DefaultValue="0" /> </SelectParameters> </asp:ObjectDataSource>DataSource
<asp:TemplateField HeaderText="test1" SortExpression="Lv1" > <ItemTemplate> <%# Eval("Lv1")%> </ItemTemplate> <EditItemTemplate> <asp:dropdownlist ID="test1" width="148px" runat="server" Text='<%# Bind("Lv1") %>' DataSource = "<%#getInitDT(0)%>" DataTextField ="Info" DataValueField ="Code"> </asp:dropdownlist> </EditItemTemplate> <ItemStyle Width="150px" /> </asp:TemplateField>
test1.DataSource = getInitDT(0)
test1.DataBind()
4.指定排序列的Style
<asp:GridView>
...
<SortedAscendingCellStyle BackColor="White" /> <SortedAscendingHeaderStyle BackColor="White" ForeColor="Black" /> <SortedDescendingCellStyle BackColor="Yellow" /> <SortedDescendingHeaderStyle BackColor="Yellow" ForeColor="Black" /> </asp:GridView>