mohsen_zelzela00
پنج شنبه 20 اسفند 1388, 17:11 عصر
با سلام
من یک Grid طراحی کردم با کد زیر
<asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="false"
ShowFooter="true" BorderColor="White" BorderStyle="Ridge" CellSpacing="1"
BorderWidth="2px" BackColor="White" CellPadding="3" GridLines="None" Font-Names="Tahoma" Font-Size="11px"
AlternatingRowStyle-BackColor="AliceBlue">
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="true" ForeColor="White" />
<PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="true" ForeColor="#E7E7FF" />
<SelectedRowStyle BackColor="#DEDFDE" Font-Italic="false" ForeColor="Black" Font-Bold="false" Font-Size="11px" />
<Columns>
<asp:TemplateField HeaderText="حذف" ItemStyle-BackColor="#ffc080" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate >
<asp:ImageButton ID="Image3" runat="server" ImageUrl="~/design/icon-delete.gif" CommandName="del" CausesValidation="false"
CommandArgument='<%#Eval("CLEARANCE_ID") %>'
OnClientClick="return confirm('آیا دستور حذف را تایید می کنید؟');" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="توضیحات" HeaderStyle-HorizontalAlign="Center"
FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="litRemark" runat="server" Text='<%#Eval("REMARK")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ترتیب در لیست"
HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"
FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="litListOrder" runat="server" Text='<%#Eval("LIST_ORDER")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ضروری است؟"
HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"
FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="litUrgent" runat="server" Text='<%#Eval("URGENT")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="نوع ترخیص">
<ItemTemplate>
<asp:Literal ID="litDocumentId" runat="server" Text='<%#Eval("DOCUMENT_ID")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="نوع ترخیص">
<ItemTemplate>
<asp:Literal ID="litClearanceId" runat="server" Text='<%#Eval("CLEARANCE_ID")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ویرایش" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate>
<asp:ImageButton ID="Image4" runat="server" ImageUrl="~/design/icon-pencil.gif" CommandName="edit" CausesValidation="true" ImageAlign="AbsMiddle"
CommandArgument='<%#Bind("CLEARANCE_ID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
و یک لیست generic به صورت زیر تعریف کردم
Public Function GETALL_ClearanceType() As List(Of clsFeildClearanceDocuments)
Dim RetList As New List(Of clsFeildClearanceDocuments)()
Dim cn As New SqlConnection(ConfigurationManager.ConnectionStrin gs("Connection").ConnectionString)
Dim cmd As New SqlCommand("SELECT_ALL_CLEARANCE_DOCUMENT", cn)
Dim Dr As SqlDataReader = Nothing
Try
cn.Open()
Dr = cmd.ExecuteReader()
Do While Dr.Read()
Dim Feild As New clsFeildClearanceDocuments()
Feild.CLEARANCE_ID = Integer.Parse(Dr.Item(0).ToString)
Feild.DOCUMENT_ID = Integer.Parse(Dr.Item(1).ToString)
Feild.URGENT = Boolean.Parse(Dr.Item(2).ToString)
Feild.LIST_ORDER = Integer.Parse(Dr.Item(3).ToString)
Feild.REMARK = Dr.Item(4).ToString
RetList.Add(Feild)
Loop
Catch e1 As Exception
Throw
Finally
If cn.State <> ConnectionState.Closed Then cn.Close()
If (Not cmd Is Nothing) Then cmd.Dispose()
End Try
Return RetList
End Function
حالا می خوام که این لیست را به Grid خودم Bind کنم(اگر در Grid ازTemplate استفاده نکنم این کار رو به راحتی انجام میدم ولی وقتی از Template استفاده می کنم باعث بروز خطا میشود)
من یک Grid طراحی کردم با کد زیر
<asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="false"
ShowFooter="true" BorderColor="White" BorderStyle="Ridge" CellSpacing="1"
BorderWidth="2px" BackColor="White" CellPadding="3" GridLines="None" Font-Names="Tahoma" Font-Size="11px"
AlternatingRowStyle-BackColor="AliceBlue">
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="true" ForeColor="White" />
<PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="true" ForeColor="#E7E7FF" />
<SelectedRowStyle BackColor="#DEDFDE" Font-Italic="false" ForeColor="Black" Font-Bold="false" Font-Size="11px" />
<Columns>
<asp:TemplateField HeaderText="حذف" ItemStyle-BackColor="#ffc080" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate >
<asp:ImageButton ID="Image3" runat="server" ImageUrl="~/design/icon-delete.gif" CommandName="del" CausesValidation="false"
CommandArgument='<%#Eval("CLEARANCE_ID") %>'
OnClientClick="return confirm('آیا دستور حذف را تایید می کنید؟');" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="توضیحات" HeaderStyle-HorizontalAlign="Center"
FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="litRemark" runat="server" Text='<%#Eval("REMARK")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ترتیب در لیست"
HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"
FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="litListOrder" runat="server" Text='<%#Eval("LIST_ORDER")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ضروری است؟"
HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"
FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="litUrgent" runat="server" Text='<%#Eval("URGENT")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="نوع ترخیص">
<ItemTemplate>
<asp:Literal ID="litDocumentId" runat="server" Text='<%#Eval("DOCUMENT_ID")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="نوع ترخیص">
<ItemTemplate>
<asp:Literal ID="litClearanceId" runat="server" Text='<%#Eval("CLEARANCE_ID")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ویرایش" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate>
<asp:ImageButton ID="Image4" runat="server" ImageUrl="~/design/icon-pencil.gif" CommandName="edit" CausesValidation="true" ImageAlign="AbsMiddle"
CommandArgument='<%#Bind("CLEARANCE_ID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
و یک لیست generic به صورت زیر تعریف کردم
Public Function GETALL_ClearanceType() As List(Of clsFeildClearanceDocuments)
Dim RetList As New List(Of clsFeildClearanceDocuments)()
Dim cn As New SqlConnection(ConfigurationManager.ConnectionStrin gs("Connection").ConnectionString)
Dim cmd As New SqlCommand("SELECT_ALL_CLEARANCE_DOCUMENT", cn)
Dim Dr As SqlDataReader = Nothing
Try
cn.Open()
Dr = cmd.ExecuteReader()
Do While Dr.Read()
Dim Feild As New clsFeildClearanceDocuments()
Feild.CLEARANCE_ID = Integer.Parse(Dr.Item(0).ToString)
Feild.DOCUMENT_ID = Integer.Parse(Dr.Item(1).ToString)
Feild.URGENT = Boolean.Parse(Dr.Item(2).ToString)
Feild.LIST_ORDER = Integer.Parse(Dr.Item(3).ToString)
Feild.REMARK = Dr.Item(4).ToString
RetList.Add(Feild)
Loop
Catch e1 As Exception
Throw
Finally
If cn.State <> ConnectionState.Closed Then cn.Close()
If (Not cmd Is Nothing) Then cmd.Dispose()
End Try
Return RetList
End Function
حالا می خوام که این لیست را به Grid خودم Bind کنم(اگر در Grid ازTemplate استفاده نکنم این کار رو به راحتی انجام میدم ولی وقتی از Template استفاده می کنم باعث بروز خطا میشود)