关于在DATAGRID中绑定DROPDOWNLIST的问题 DataSource='<%#GetDropDownDataView()%>in cs filepublic DataTable GetDropDownDataView(){ get your data and put it in datatable or dataview...} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一个立即能用的: 在datagrid的EditItemTemplate里使用DropDownList 在quickstart里有个示例程序,里面给出了在datagrid的EditItemTemplate中使用DropDownList的一个办法,但这个办法有个缺点,这个DropDownList的ListItem不是由数据库字段内容动态产生。 这里我用了另外一个办法,改正了这个缺陷。程序测试通过,代码如下: datagriddrop.aspx ---------------------------------------------------- <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <head> <script language="C#" runat="server"> SqlConnection myConnection; public DataTable StateIndex; // public Hashtable StateIndex; protected void Page_Load(Object Src, EventArgs E) { myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes"); if (!IsPostBack) BindGrid(); MakeDataTable(); /* StateIndex = new Hashtable(); 这是quickstart里使用的办法 StateIndex["CA"] = 0; StateIndex["IN"] = 1; StateIndex["KS"] = 2; StateIndex["MD"] = 3; StateIndex["MI"] = 4; StateIndex["OR"] = 5; StateIndex["TN"] = 6; StateIndex["UT"] = 7;*/ } void MakeDataTable() { String selectstring="select distinct state from Authors order by state"; SqlConnection conn=new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes"); SqlDataAdapter da=new SqlDataAdapter(selectstring,conn); DataSet ds=new DataSet(); da.Fill(ds,"state"); DataTable dt=ds.Tables["state"]; int count=dt.DefaultView.Count; StateIndex=new DataTable("States"); DataColumn dc; DataRow dr; dc=new DataColumn(); dc.DataType=Type.GetType("System.String"); dc.ColumnName="Name"; StateIndex.Columns.Add(dc); dc=new DataColumn(); dc.DataType=Type.GetType("System.Int32"); dc.ColumnName="ID"; StateIndex.Columns.Add(dc); for(int i=0;i<count;i++) { dr=StateIndex.NewRow(); dr["Name"]=dt.Rows[i][0]; dr["ID"]=i; StateIndex.Rows.Add(dr); } DataGrid2.DataSource=StateIndex.DefaultView; DataGrid2.DataBind(); } int GetStateIndex(String StateName) { int index=0; foreach(DataRow dr in StateIndex.Rows) { if(dr["Name"].ToString()==StateName) { index=Int32.Parse(dr["ID"].ToString()); break; } } return index; } public void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs E) { MyDataGrid.EditItemIndex = (int)E.Item.ItemIndex; BindGrid(); } public void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs E) { MyDataGrid.EditItemIndex = -1; BindGrid(); } public void MyDataGrid_Update(Object sender, DataGridCommandEventArgs E) { if (Page.IsValid) { String updateCmd = "UPDATE Authors SET au_id = @Id, au_lname = @LName, au_fname = @FName, phone = @Phone, " + "address = @Address, city = @City, state = @State, zip = @Zip, contract = @Contract where au_id = @Id"; SqlCommand myCommand = new SqlCommand(updateCmd, myConnection); myCommand.Parameters.Add(new SqlParameter("@Id", SqlDbType.NVarChar, 11)); myCommand.Parameters.Add(new SqlParameter("@LName", SqlDbType.NVarChar, 40)); myCommand.Parameters.Add(new SqlParameter("@FName", SqlDbType.NVarChar, 20)); myCommand.Parameters.Add(new SqlParameter("@Phone", SqlDbType.NChar, 12)); myCommand.Parameters.Add(new SqlParameter("@Address", SqlDbType.NVarChar, 40)); myCommand.Parameters.Add(new SqlParameter("@City", SqlDbType.NVarChar, 20)); myCommand.Parameters.Add(new SqlParameter("@State", SqlDbType.NChar, 2)); myCommand.Parameters.Add(new SqlParameter("@Zip", SqlDbType.NChar, 5)); myCommand.Parameters.Add(new SqlParameter("@Contract", SqlDbType.NVarChar,1)); myCommand.Parameters["@Id"].Value = MyDataGrid.DataKeys[(int)E.Item.ItemIndex]; String[] cols = {"LName","FName","Phone","Address","City","Zip"}; for (int i=0; i<6; i++) { String colvalue = ((TextBox)E.Item.FindControl("edit_" + cols[i])).Text; myCommand.Parameters["@" + cols[i]].Value = colvalue; } myCommand.Parameters["@State"].Value = ((DropDownList)E.Item.FindControl("edit_State")).SelectedItem.ToString(); if (((CheckBox)E.Item.FindControl("edit_Contract")).Checked = true) myCommand.Parameters["@Contract"].Value = "1"; else myCommand.Parameters["@Contract"].Value = "0"; myCommand.Connection.Open(); try { myCommand.ExecuteNonQuery(); Message.InnerHtml = "<b>Record Updated</b><br>" + updateCmd; MyDataGrid.EditItemIndex = -1; } catch (SqlException e) { if (e.Number == 2627) Message.InnerHtml = "ERROR: A record already exists with the same primary key"; else Message.InnerHtml = "ERROR: Could not update record, please ensure the fields are correctly filled out"; Message.Style["color"] = "red"; } myCommand.Connection.Close(); BindGrid(); } else { Message.InnerHtml = "ERROR: Please check each field for error conditions."; Message.Style["color"] = "red"; } } public void BindGrid() { SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection); DataSet ds = new DataSet(); myCommand.Fill(ds, "Authors"); MyDataGrid.DataSource=ds.Tables["Authors"].DefaultView; MyDataGrid.DataBind(); } </script> </head> <body style="font: 10pt verdana"> <form runat="server"> <h3><font face="Verdana">Updating a Row of Data w/ Validation</font></h3> <span id="Message" EnableViewState="false" style="font: arial 11pt;" runat="server"/><p> <ASP:DataGrid id="MyDataGrid" runat="server" Width="800" BackColor="#ccccff" BorderColor="black" ShowFooter="false" CellPadding=3 CellSpacing="0" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnUpdateCommand="MyDataGrid_Update" DataKeyField="au_id" AutoGenerateColumns="false" > <Columns> <asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false"/> <asp:BoundColumn HeaderText="au_id" SortExpression="au_id" ReadOnly="True" DataField="au_id" ItemStyle-Wrap="false"/> <asp:TemplateColumn HeaderText="au_lname" SortExpression="au_lname"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "au_lname") %>'/> </ItemTemplate> <EditItemTemplate> <nobr> <asp:TextBox runat="server" id="edit_LName" Text='<%# DataBinder.Eval(Container.DataItem, "au_lname") %>'/> <asp:RequiredFieldValidator id="au_lnameReqVal" ControlToValidate="edit_LName" Display="Dynamic" Font-Name="Verdana" Font-Size="12" runat=server> * </asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="au_fname" SortExpression="au_fname"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "au_fname") %>'/> </ItemTemplate> <EditItemTemplate> <nobr> <asp:TextBox runat="server" id="edit_FName" Text='<%# DataBinder.Eval(Container.DataItem, "au_fname") %>'/> <asp:RequiredFieldValidator id="au_fnameReqVal" ControlToValidate="edit_FName" Display="Dynamic" Font-Name="Verdana" Font-Size="12" runat=server> * </asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="phone" SortExpression="phone"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "phone") %>'/> </ItemTemplate> <EditItemTemplate> <nobr> <asp:TextBox runat="server" id="edit_Phone" Text='<%# DataBinder.Eval(Container.DataItem, "phone") %>'/> <asp:RequiredFieldValidator id="phoneReqVal" ControlToValidate="edit_Phone" Display="Dynamic" Font-Name="Verdana" Font-Size="12" runat=server> * </asp:RequiredFieldValidator> <asp:RegularExpressionValidator id="phoneRegexVal" ControlToValidate="edit_Phone" ValidationExpression="[0-9]{3} [0-9]{3}-[0-9]{4}" Display="Dynamic" Font-Name="Arial" Font-Size="11" runat=server> * Phone must be in form: XXX XXX-XXXX <br> </asp:RegularExpressionValidator> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="address" SortExpression="address"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "address") %>'/> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" id="edit_Address" Text='<%# DataBinder.Eval(Container.DataItem, "address") %>'/> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="city" SortExpression="city"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "city") %>'/> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" id="edit_City" Text='<%# DataBinder.Eval(Container.DataItem, "city") %>'/> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="state" SortExpression="state"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "state") %>'/> </ItemTemplate> <EditItemTemplate> <asp:DropDownList runat="server" DataSource='<%# StateIndex.DefaultView %>' DataTextField="Name" SelectedIndex='<%# GetStateIndex((String)((DataRowView)Container.DataItem)["state"]) %>' id="edit_State"/> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="zip" SortExpression="zip"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "zip") %>'/> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" id="edit_Zip" Text='<%# DataBinder.Eval(Container.DataItem, "zip") %>'/> <asp:RegularExpressionValidator id="RegularExpressionValidator1" ASPClass="RegularExpressionValidator" ControlToValidate="edit_Zip" ValidationExpression="[0-9]{5}" Display="Dynamic" Font-Name="Arial" Font-Size="11" runat=server> * Zip Code must be 5 numeric digits <br> </asp:RegularExpressionValidator> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="contract" SortExpression="contract"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "contract", "{0}") %>'/> </ItemTemplate> <EditItemTemplate> <asp:CheckBox runat="server" id="edit_Contract" Checked='<%# DataBinder.Eval(Container.DataItem, "contract") %>'/> </EditItemTemplate> </asp:TemplateColumn> </Columns> </ASP:DataGrid> <hr> <ASP:DataGrid id="DataGrid2" runat="server" Width="360" BackColor="#ccccff" BorderColor="black" ShowFooter="false" CellPadding=3 CellSpacing="0" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" EnableViewState="false" /> </form> </body> </html> 要记得多给点分! asp.net安装部署中设置快捷方试。支持,IP和端口怎么变都可以.能不能实现. Visual studio 2005配置问题 CheckBox的问题 关于数据库查询的问题? 老大们:TreeView中怎么设置节点字体的颜色啊? 如何判断一个网站是否运行正常 能否传点写类的经验? 奇怪的问题,还望高手帮忙。 中文檔名.. 点播的程序怎么设计,着急,着急 如何弹出新页? 字符串的合并与分开
在datagrid的EditItemTemplate里使用DropDownList
在quickstart里有个示例程序,里面给出了在datagrid的EditItemTemplate中使用DropDownList的一个办法,但这个办法有个缺点,这个DropDownList的ListItem不是由数据库字段内容动态产生。
这里我用了另外一个办法,改正了这个缺陷。程序测试通过,代码如下: datagriddrop.aspx
---------------------------------------------------- <%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %> <html> <head>
<script language="C#" runat="server"> SqlConnection myConnection;
public DataTable StateIndex;
// public Hashtable StateIndex; protected void Page_Load(Object Src, EventArgs E)
{
myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes"); if (!IsPostBack)
BindGrid(); MakeDataTable();
/* StateIndex = new Hashtable(); 这是quickstart里使用的办法
StateIndex["CA"] = 0;
StateIndex["IN"] = 1;
StateIndex["KS"] = 2;
StateIndex["MD"] = 3;
StateIndex["MI"] = 4;
StateIndex["OR"] = 5;
StateIndex["TN"] = 6;
StateIndex["UT"] = 7;*/
} void MakeDataTable()
{
String selectstring="select distinct state from Authors order by state";
SqlConnection conn=new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes");
SqlDataAdapter da=new SqlDataAdapter(selectstring,conn);
DataSet ds=new DataSet();
da.Fill(ds,"state"); DataTable dt=ds.Tables["state"];
int count=dt.DefaultView.Count; StateIndex=new DataTable("States");
DataColumn dc;
DataRow dr; dc=new DataColumn();
dc.DataType=Type.GetType("System.String");
dc.ColumnName="Name";
StateIndex.Columns.Add(dc); dc=new DataColumn();
dc.DataType=Type.GetType("System.Int32");
dc.ColumnName="ID";
StateIndex.Columns.Add(dc); for(int i=0;i<count;i++)
{
dr=StateIndex.NewRow();
dr["Name"]=dt.Rows[i][0];
dr["ID"]=i;
StateIndex.Rows.Add(dr);
} DataGrid2.DataSource=StateIndex.DefaultView;
DataGrid2.DataBind();
} int GetStateIndex(String StateName)
{
int index=0; foreach(DataRow dr in StateIndex.Rows)
{
if(dr["Name"].ToString()==StateName)
{
index=Int32.Parse(dr["ID"].ToString());
break;
}
} return index;
} public void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs E)
{
MyDataGrid.EditItemIndex = (int)E.Item.ItemIndex;
BindGrid();
} public void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs E)
{
MyDataGrid.EditItemIndex = -1;
BindGrid();
} public void MyDataGrid_Update(Object sender, DataGridCommandEventArgs E)
{
if (Page.IsValid)
{
String updateCmd = "UPDATE Authors SET au_id = @Id, au_lname = @LName, au_fname = @FName, phone = @Phone, "
+ "address = @Address, city = @City, state = @State, zip = @Zip, contract = @Contract where au_id = @Id"; SqlCommand myCommand = new SqlCommand(updateCmd, myConnection); myCommand.Parameters.Add(new SqlParameter("@Id", SqlDbType.NVarChar, 11));
myCommand.Parameters.Add(new SqlParameter("@LName", SqlDbType.NVarChar, 40));
myCommand.Parameters.Add(new SqlParameter("@FName", SqlDbType.NVarChar, 20));
myCommand.Parameters.Add(new SqlParameter("@Phone", SqlDbType.NChar, 12));
myCommand.Parameters.Add(new SqlParameter("@Address", SqlDbType.NVarChar, 40));
myCommand.Parameters.Add(new SqlParameter("@City", SqlDbType.NVarChar, 20));
myCommand.Parameters.Add(new SqlParameter("@State", SqlDbType.NChar, 2));
myCommand.Parameters.Add(new SqlParameter("@Zip", SqlDbType.NChar, 5));
myCommand.Parameters.Add(new SqlParameter("@Contract", SqlDbType.NVarChar,1)); myCommand.Parameters["@Id"].Value = MyDataGrid.DataKeys[(int)E.Item.ItemIndex]; String[] cols = {"LName","FName","Phone","Address","City","Zip"}; for (int i=0; i<6; i++)
{
String colvalue = ((TextBox)E.Item.FindControl("edit_" + cols[i])).Text;
myCommand.Parameters["@" + cols[i]].Value = colvalue;
} myCommand.Parameters["@State"].Value = ((DropDownList)E.Item.FindControl("edit_State")).SelectedItem.ToString(); if (((CheckBox)E.Item.FindControl("edit_Contract")).Checked = true)
myCommand.Parameters["@Contract"].Value = "1";
else
myCommand.Parameters["@Contract"].Value = "0"; myCommand.Connection.Open(); try
{
myCommand.ExecuteNonQuery();
Message.InnerHtml = "<b>Record Updated</b><br>" + updateCmd;
MyDataGrid.EditItemIndex = -1;
}
catch (SqlException e)
{
if (e.Number == 2627)
Message.InnerHtml = "ERROR: A record already exists with the same primary key";
else
Message.InnerHtml = "ERROR: Could not update record, please ensure the fields are correctly filled out";
Message.Style["color"] = "red";
} myCommand.Connection.Close(); BindGrid();
}
{
Message.InnerHtml = "ERROR: Please check each field for error conditions.";
Message.Style["color"] = "red";
}
} public void BindGrid()
{
SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection); DataSet ds = new DataSet();
myCommand.Fill(ds, "Authors"); MyDataGrid.DataSource=ds.Tables["Authors"].DefaultView;
MyDataGrid.DataBind();
} </script>
</head> <body style="font: 10pt verdana"> <form runat="server"> <h3><font face="Verdana">Updating a Row of Data w/ Validation</font></h3> <span id="Message" EnableViewState="false" style="font: arial 11pt;" runat="server"/><p> <ASP:DataGrid id="MyDataGrid" runat="server"
Width="800"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
OnEditCommand="MyDataGrid_Edit"
OnCancelCommand="MyDataGrid_Cancel"
OnUpdateCommand="MyDataGrid_Update"
DataKeyField="au_id"
AutoGenerateColumns="false"
> <Columns>
<asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false"/>
<asp:BoundColumn HeaderText="au_id" SortExpression="au_id" ReadOnly="True" DataField="au_id" ItemStyle-Wrap="false"/>
<asp:TemplateColumn HeaderText="au_lname" SortExpression="au_lname">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "au_lname") %>'/>
</ItemTemplate>
<EditItemTemplate>
<nobr>
<asp:TextBox runat="server" id="edit_LName" Text='<%# DataBinder.Eval(Container.DataItem, "au_lname") %>'/>
<asp:RequiredFieldValidator id="au_lnameReqVal"
ControlToValidate="edit_LName"
Display="Dynamic"
Font-Name="Verdana" Font-Size="12"
runat=server>
*
</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="au_fname" SortExpression="au_fname">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "au_fname") %>'/>
</ItemTemplate>
<EditItemTemplate>
<nobr>
<asp:TextBox runat="server" id="edit_FName" Text='<%# DataBinder.Eval(Container.DataItem, "au_fname") %>'/>
<asp:RequiredFieldValidator id="au_fnameReqVal"
ControlToValidate="edit_FName"
Display="Dynamic"
Font-Name="Verdana" Font-Size="12"
runat=server>
*
</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="phone" SortExpression="phone">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "phone") %>'/>
</ItemTemplate>
<EditItemTemplate>
<nobr>
<asp:TextBox runat="server" id="edit_Phone" Text='<%# DataBinder.Eval(Container.DataItem, "phone") %>'/>
<asp:RequiredFieldValidator id="phoneReqVal"
ControlToValidate="edit_Phone"
Display="Dynamic"
Font-Name="Verdana" Font-Size="12"
runat=server>
*
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="phoneRegexVal"
ControlToValidate="edit_Phone"
ValidationExpression="[0-9]{3} [0-9]{3}-[0-9]{4}"
Display="Dynamic"
Font-Name="Arial" Font-Size="11"
runat=server>
* Phone must be in form: XXX XXX-XXXX <br>
</asp:RegularExpressionValidator>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="address" SortExpression="address">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "address") %>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" id="edit_Address" Text='<%# DataBinder.Eval(Container.DataItem, "address") %>'/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="city" SortExpression="city">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "city") %>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" id="edit_City" Text='<%# DataBinder.Eval(Container.DataItem, "city") %>'/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="state" SortExpression="state">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "state") %>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" DataSource='<%# StateIndex.DefaultView %>' DataTextField="Name" SelectedIndex='<%# GetStateIndex((String)((DataRowView)Container.DataItem)["state"]) %>' id="edit_State"/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="zip" SortExpression="zip">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "zip") %>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" id="edit_Zip" Text='<%# DataBinder.Eval(Container.DataItem, "zip") %>'/>
<asp:RegularExpressionValidator id="RegularExpressionValidator1"
ASPClass="RegularExpressionValidator" ControlToValidate="edit_Zip"
ValidationExpression="[0-9]{5}"
Display="Dynamic"
Font-Name="Arial" Font-Size="11"
runat=server>
* Zip Code must be 5 numeric digits <br>
</asp:RegularExpressionValidator>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="contract" SortExpression="contract">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "contract", "{0}") %>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox runat="server" id="edit_Contract" Checked='<%# DataBinder.Eval(Container.DataItem, "contract") %>'/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns> </ASP:DataGrid>
<hr>
<ASP:DataGrid id="DataGrid2" runat="server"
Width="360"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
EnableViewState="false"
/>
</form> </body>
</html> 要记得多给点分!