`
- 浏览:
904752 次
-
//目前功能:排序、单选项、复选项、合并单元格、产生序列号、联动下拉框、编辑、删除、超连接、鼠标移动改变颜色、奇偶项颜色区分等1.html代码
<HTML>
<HEAD>
<title>DatagridTest</title>
<metacontent="MicrosoftVisualStudio.NET7.1"name="GENERATOR">
<metacontent="C#"name="CODE_LANGUAGE">
<metacontent="JavaScript"name="vs_defaultClientScript">
<metacontent="http://schemas.microsoft.com/intellisense/ie5"name="vs_targetSchema">
<scriptlanguage="javascript">
functionfun_option(obj)
{
document.Form1.hiduserid.value=obj.value;
}
functionchkAll_true()
{
varchkall=document.all["chkAll"];
varchkother=document.all["chkExport"];
if(chkother.length>0)
{
for(vari=0;i<chkother.length;i++)
{
if(chkall.checked==true)
{
chkother[i].checked=true;
}
else
{
chkother[i].checked=false;
}
}
}
}
functionDelete()
{
//debugger;
varchkother=document.all["chkExport"];
vartemp="";
if(chkother.length>0)
{
for(vari=0;i<chkother.length;i++)
{
if(chkother[i].checked=true)
{
temp+=","+chkother[i].value;
}
}
temp=temp.substring(1,temp.length);
}
if(temp=="")
{
alert('YouneedtoselectarowinthelistbeforeselectingDelete./r/nPleaseselectarowandtryagain.');
}
elseif(window.confirm("Areyousuretodeleteallthese?"))
{
document.Form1.hiduserid.value=temp;
vardeleteID='<%=btndelete.ClientID%>';
window.document.all(deleteID).click();
}
event.cancelBubble=true;
}
</script>
</HEAD>
<body>
<formid="Form1"method="post"runat="server">
<TABLEid="Table1"height="100%"cellSpacing="1"cellPadding="1"width="100%"border="1">
<trheight="30">
<td><INPUTid="chkAll"onclick="chkAll_true()"type="checkbox">全选/取消<asp:buttonid="btndelete"runat="server"Text="删除"></asp:button></td>
</tr>
<TRvAlign="top">
<TDwidth="100%"colSpan="5"><asp:datagridid="DataGrid1"runat="server"OnEditCommand="Edit"OnCancelCommand="Cancel"OnUpdateCommand="Update"
DataKeyField="UserID"AutoGenerateColumns="False"AllowSorting="True"BorderColor="Tan"BorderWidth="1px"BackColor="LightGoldenrodYellow"
CellPadding="2"GridLines="None"ForeColor="Black"OnDeleteCommand="Delete">
<FooterStyleBackColor="Tan"></FooterStyle>
<SelectedItemStyleForeColor="GhostWhite"BackColor="DarkSlateBlue"></SelectedItemStyle>
<AlternatingItemStyleBackColor="PaleGoldenrod"></AlternatingItemStyle>
<HeaderStyleFont-Bold="True"BackColor="Tan"></HeaderStyle>
<Columns>
<asp:TemplateColumnHeaderText="序号">
<ItemTemplate>
<INPUTid=radioonclick=fun_option(this)type=radiovalue='<%#DataBinder.Eval(Container.DataItem,"UserID")%>'name=radio>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="序号">
<FooterTemplate>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<INPUTid="chkExport"type="checkbox"value='<%#DataBinder.Eval(Container.DataItem,"UserID")%>'>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumnDataField="UserID"SortExpression="UserID"ReadOnly="True"HeaderText="UserID"></asp:BoundColumn>
<asp:TemplateColumnSortExpression="UserName"HeaderText="姓名">
<ItemTemplate>
<ahref="http://singlepine.cnblogs.com/articles/266538.html"target="_blank">
<%#DataBinder.Eval(Container.DataItem,"UserName")%>
</a>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBoxid=UserNameText='<%#DataBinder.Eval(Container.DataItem,"UserName")%>'Width="88px"Runat="server">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnSortExpression="province"HeaderText="省市">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"province")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownListid="province"Runat="server"AutoPostBack="True"OnSelectedIndexChanged="ddlpovince_SelectedIndexChanged"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnSortExpression="city"HeaderText="县市">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"city")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownListid="city"Runat="server"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnSortExpression="Enabled"HeaderText="可见否">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"Enabled")%>
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBoxid=chkenabledRunat="server"Checked='<%#DataBinder.Eval(Container.DataItem,"Enabled")%>'>
</asp:CheckBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumnButtonType="PushButton"UpdateText="更新"HeaderText="编辑"CancelText="取消"EditText="编辑"></asp:EditCommandColumn>
<asp:ButtonColumnText="删除"ButtonType="PushButton"HeaderText="删除"CommandName="Delete"></asp:ButtonColumn>
</Columns>
<PagerStyleNextPageText="下一页"PrevPageText="上一页"HorizontalAlign="Right"ForeColor="DarkSlateBlue"
BackColor="PaleGoldenrod"></PagerStyle>
</asp:datagrid></TD>
</TR>
<trheight="30">
<td></td>
</tr>
</TABLE>
<INPUTid="hiduserid"type="hidden"runat="server">
</form>
</body>
</HTML>
2.cs代码
publicclassDatagridTest:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.DataGridDataGrid1;
protectedSystem.Web.UI.HtmlControls.HtmlInputHiddenhiduserid;
protectedSystem.Web.UI.WebControls.Buttonbtndelete;
privatestringconstring="";
//目前功能:编辑、排序、单选项、复选项、合并单元格、产生序列号、联动下拉框、删除、超连接、鼠标移动改变颜色、奇偶项颜色区分
privatevoidPage_Load(objectsender,System.EventArgse)
{
if(!Page.IsPostBack)
{
btndelete.Attributes.Add("onclick","Delete();");
SortExpression="";
sort="desc";
DataBind();
}
}
DataBind#regionDataBind
privatevoidDataBind()
{
stringsql="selecta.UserID,a.UserName,b.province,c.city,a.Enabled,b.provinceID,c.cityIDfromtestgrida";
sql+="leftjoinpovincebona.Country=b.provinceID";
sql+="leftjoincitycona.State=c.cityID";
DataSetds=GetDataSet(sql);
dt=ds.Tables[0];
this.DataGrid1.DataSource=dt;
this.DataGrid1.DataBind();
}
#endregion
WebFormDesignergeneratedcode#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:ThiscallisrequiredbytheASP.NETWebFormDesigner.
//
InitializeComponent();
base.OnInit(e);
this.DataGrid1.ItemDataBound+=newDataGridItemEventHandler(DataGrid1_ItemDataBound);
this.DataGrid1.SortCommand+=newDataGridSortCommandEventHandler(DataGrid1_SortCommand);
this.DataGrid1.ItemCreated+=newDataGridItemEventHandler(DataGrid1_ItemCreated);
this.btndelete.Click+=newSystem.EventHandler(this.btndelete_Click);
}
/**////<summary>
///RequiredmethodforDesignersupport-donotmodify
///thecontentsofthismethodwiththecodeeditor.
///</summary>
privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);
}
#endregion
GetDataSet#regionGetDataSet
privateDataSetGetDataSet(stringsql)
{
constring=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlDataAdaptersda=newSqlDataAdapter(sql,constring);
DataSetds=newDataSet();
sda.Fill(ds);
returnds;
}
#endregion
DataGrid1_ItemDataBound#regionDataGrid1_ItemDataBound
privatevoidDataGrid1_ItemDataBound(objectsender,DataGridItemEventArgse)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("ondblclick","alert('"+e.Item.Cells[3].Text+"');");
}
if(e.Item.ItemType!=ListItemType.Header)
{
if(e.Item.ItemIndex%2==0)
{
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='PaleGoldenrod'");
}
else
{
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='LightGoldenrodYellow'");
}
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#C1D2EE'");
e.Item.Cells[1].Text=Convert.ToString(e.Item.ItemIndex+1);//产生序号
}
if(e.Item.ItemType==ListItemType.Header)
{
e.Item.Cells[0].ColumnSpan=2;//合并单元格
e.Item.Cells[1].Visible=false;
}
stringsqlpovince="select*frompovince";
DataSetdspovince=GetDataSet(sqlpovince);
if(e.Item.ItemType==ListItemType.EditItem)
{
DropDownListddlpovince=(DropDownList)e.Item.FindControl("province");
ddlpovince.DataSource=dspovince;
ddlpovince.DataTextField="province";
ddlpovince.DataValueField="provinceID";
ddlpovince.DataBind();
ddlpovince.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,"provinceID"))).Selected=true;
if(e.Item.ItemType==ListItemType.EditItem)
{
if(ddlpovince.SelectedIndex!=-1)
{
stringsqlcity="select*fromcitywherefather='"+ddlpovince.SelectedValue+"'";
DropDownListddlcity=(DropDownList)e.Item.FindControl("city");
DataSetdscity=GetDataSet(sqlcity);
ddlcity.DataSource=dscity;
ddlcity.DataTextField="city";
ddlcity.DataValueField="cityID";
ddlcity.DataBind();
ddlcity.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,"cityID"))).Selected=true;
}
}
}
}
#endregion
DataGrid1_SortCommand#regionDataGrid1_SortCommand
privatevoidDataGrid1_SortCommand(objectsource,DataGridSortCommandEventArgse)
{
if(SortExpression==e.SortExpression.ToString())
{
if(sort=="asc")
{
sort="desc";
}
else
{
sort="asc";
}
}
else
{
if(sort=="asc")
{
sort="desc";
}
else
{
sort="asc";
}
}
SortExpression=e.SortExpression;
dt.DefaultView.Sort=e.SortExpression+""+sort;
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
}
#endregion
DataGrid1_ItemCreated#regionDataGrid1_ItemCreated
privatevoidDataGrid1_ItemCreated(objectsender,DataGridItemEventArgse)
{
for(inti=3;i<DataGrid1.Columns.Count-2;i++)//-2的意思是两个button列不用排序
{
if(i==0)continue;
if(e.Item.ItemIndex==-1)
{
if(DataGrid1.Columns[i].SortExpression==SortExpression)
{
TableCelltableCell=e.Item.Cells[i];
Labellabel=newLabel();
label.Font.Name="webdings";
if(sort=="asc")
{
label.Text="6";
}
else
{
label.Text="5";
}
label.Width=20;
tableCell.Controls.Add(label);
}
}
}
foreach(DataGridItemdiinthis.DataGrid1.Items)
{
if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)
{
((Button)di.Cells[9].Controls[0]).Attributes.Add("onclick","returnconfirm('确认删除此项吗?');");
}
}
}
#endregion
property#regionproperty
privateDataTabledt
{
get
{
if(ViewState["dt"]!=null)
{
return(DataTable)ViewState["dt"];
}
else
{
returnnull;
}
}
set
{
ViewState["dt"]=value;
}
}
privatestringSortExpression
{
get
{
if(ViewState["SortExpression"]!=null&&ViewState["SortExpression"].ToString()!=string.Empty)
{
returnViewState["SortExpression"].ToString();
}
else
{
return"";
}
}
set
{
ViewState["SortExpression"]=value;
}
}
privatestringsort
{
get
{
if(ViewState["sort"]!=null&&ViewState["sort"].ToString()!=string.Empty)
{
returnViewState["sort"].ToString();
}
else
{
return"";
}
}
set
{
ViewState["sort"]=value;
}
}
#endregion
Edit#regionEdit
protectedvoidEdit(objectsender,DataGridCommandEventArgse)
{
this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
DataBind();
}
#endregion
Cancel#regionCancel
protectedvoidCancel(objectsender,DataGridCommandEventArgse)
{
this.DataGrid1.EditItemIndex=-1;
DataBind();
}
#endregion
Update#regionUpdate
protectedvoidUpdate(objectsender,DataGridCommandEventArgse)
{
if(e.Item.ItemType==ListItemType.EditItem)
{
SqlConnectionconn=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommandcomm=newSqlCommand("updatetestgridsetUserName=@UserName,Country=@province,State=@city,Enabled=@EnabledwhereUserID=@UserID",conn);
SqlParameterparm1=newSqlParameter("@UserName",SqlDbType.NVarChar,50);
parm1.Value=((TextBox)e.Item.FindControl("UserName")).Text;
SqlParameterparm2=newSqlParameter("@province",SqlDbType.NVarChar,50);
parm2.Value=((DropDownList)e.Item.FindControl("province")).SelectedValue;
SqlParameterparm3=newSqlParameter("@city",SqlDbType.NVarChar,50);
parm3.Value=((DropDownList)e.Item.FindControl("city")).SelectedValue;
SqlParameterparm4=newSqlParameter("@Enabled",SqlDbType.Bit);
parm4.Value=((CheckBox)e.Item.FindControl("chkenabled")).Checked;
SqlParameterparm5=newSqlParameter("@UserID",SqlDbType.Int);
parm5.Value=this.DataGrid1.DataKeys[e.Item.ItemIndex];
comm.Parameters.Add(parm1);
comm.Parameters.Add(parm2);
comm.Parameters.Add(parm3);
comm.Parameters.Add(parm4);
comm.Parameters.Add(parm5);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
this.DataGrid1.EditItemIndex=-1;
DataBind();
}
}
#endregion
Deleteevent#regionDeleteevent
protectedvoidDelete(objectsender,DataGridCommandEventArgse)
{
delete(this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString());
}
#endregion
ddlpovince_SelectedIndexChanged#regionddlpovince_SelectedIndexChanged
publicvoidddlpovince_SelectedIndexChanged(objectsender,EventArgse)
{
DropDownListddlpovince=senderasDropDownList;
if(ddlpovince.SelectedIndex!=-1)
{
DropDownListddlcity=((Control)(((Control)sender)).Parent).FindControl("city")asDropDownList;
stringsqlcity="select*fromcitywherefather='"+ddlpovince.SelectedValue+"'";
DataSetdscity=GetDataSet(sqlcity);
ddlcity.DataSource=dscity;
ddlcity.DataTextField="city";
ddlcity.DataValueField="cityID";
ddlcity.DataBind();
}
}
#endregion
btndelete_Click#regionbtndelete_Click
privatevoidbtndelete_Click(objectsender,System.EventArgse)
{
string[]delid=this.hiduserid.Value.Split(',');
for(intm=0;m<delid.Length;m++)
{
delete(delid[m]);
}
}
#endregion
delete#regiondelete
privatevoiddelete(stringid)
{
SqlConnectionconn=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommandcomm=newSqlCommand("deletefromtestgridwhereUserID=@UserID",conn);
SqlParameterparm1=newSqlParameter("@UserID",SqlDbType.Int);
parm1.Value=Convert.ToInt32(id);
comm.Parameters.Add(parm1);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
DataBind();
}
#endregion
}
3.数据库教本(或下载真实数据
/Files/singlepine/area.rar)
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[TestGrid]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[TestGrid]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[city]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[city]
GO
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[povince]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[povince]
GO
CREATETABLE[dbo].[TestGrid](
[UserID][int]NOTNULL,
[UserName][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Country][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[State][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Enabled][bit]NULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[city](
[id][int]NOTNULL,
[cityID][nvarchar](6)COLLATEChinese_PRC_CI_ASNULL,
[city][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[father][nvarchar](6)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[povince](
[id][int]NOTNULL,
[provinceID][nvarchar](6)COLLATEChinese_PRC_CI_ASNULL,
[province][nvarchar](40)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
一个功能齐全的DataGrid分页例子一个功能齐全的DataGrid分页例子一个功能齐全的DataGrid分页例子
一个功能齐全的DataGrid分页例子一个功能齐全的DataGrid分页例子
功能齐全的datagrid.rar 快来看啊
datagrid的功能齐全的分页范例
DataGrid实现tooltip功能DataGrid实现tooltip功能.txtDataGrid实现tooltip功能.txtDataGrid实现tooltip功能.txtDataGrid实现tooltip功能.txtDataGrid实现tooltip功能.txt
mvc datagrid 支持分页功能,采用easyui的datagrid.
通过自定义类的设计来增强该控件的功能,使DataGrid 具有查找、筛选、排序、显示或隐藏列控制、读写列控制以及同步数据内容导出的功能,并且以上下文菜单的形式封装这些功能,使用户通过右击鼠标就能选择相应菜单的...
适用2003 增强颜色设置功能的DataGrid 带示例和源码 更方便的动态设置单行 或单个单元格的颜色
在FLEX4中开发带有过滤功能的DATAGRID组件
Wpf 做的一个DataGrid的Demo,有增删改查 分页、自定义控件相关等功能,拿去就可以直接用
给DataGrid添加自定义的headerRenderer,实现在Header上自己添加想要的界面功能
Wpf 的DataGrid 数据表格控件的功能集合,整理调试通过。
多功能DataGrid(C#) DataGrid C# .NET asp.net
.net下功能強大的Datagrid控件 .net下功能強大的Datagrid控件
WPF中使用DataGrid完成一个行级数据折叠收缩展开的功能,通过点击行头折叠或者展开明细数据。该能能常见的使用在数据的明细汇总展示上,初始展示汇总数据点击展示某行汇总的结果展示对应的明细信息。
WPF的DataGrid分页的功能,找了很久网上的资料,做了许久最后做出了一个公共的用户控件,让大家调用,分享一下。 供参考,希望有问题可以评论一下,告诉我互相学习
jeasyui-datagrid-datagrid 开发参考
最近想做一个通过PHP实现DataGrid功能的东西,这样可以直接修改数据库中表的内容,而 用开发【新增数据页面】,【编辑页面】,于是乎在网上找了找,类似的东西也有几个,开源 、付费的都有,不过基本都是基于MySQL。...
DataGrid中嵌套DataGrid,修改后也适用DataGrid中嵌套DataList,DataList中嵌套DataList