Gridview应用实例.docx
《Gridview应用实例.docx》由会员分享,可在线阅读,更多相关《Gridview应用实例.docx(22页珍藏版)》请在冰点文库上搜索。
![Gridview应用实例.docx](https://file1.bingdoc.com/fileroot1/2023-5/7/5b89f475-d3ef-4b01-80ca-16bf239f625d/5b89f475-d3ef-4b01-80ca-16bf239f625d1.gif)
Gridview应用实例
功能说明:
1.后台数据绑定
2.手写增删改
3.手写分页代码
4.checkbox结合嵌入
5.导入Excel文件浏览、导入
6.将导入的Excel数据上传数据库提交数据文件
7.导出Gridview数据至Excel导出数据
8.自动排序
前台代码:
functionopenwin()
{
window.alert('目前只支持Excel文档导入如有不便,敬请谅解!
');
}
style="background-color:
#CEEFFF">
0px;"/>
你现在的位置:
后台管理>>认证报名管理>>教导信息维护
|
PanelID="Panel2"runat="server"Height="280px"ScrollBars="Auto">
GridViewID="myGridView"runat="server"AllowPaging="True"CssClass="dh1"
onpageindexchanging="myGridView_PageIndexChanging"
onrowcancelingedit="myGridView_RowCancelingEdit"
onrowdatabound="myGridView_RowDataBound"onrowediting="myGridView_RowEditing"
onrowupdating="myGridView_RowUpdating"Width="99%">
TemplateField>
CheckBoxID="CheckBox1"runat="server"/>
TemplateField>
CommandFieldHeaderText="编辑"ShowEditButton="True"/>
LinkButtonID="LinkButtonFirstPage"runat="server"CommandArgument="First"
CommandName="Page"
Visible="<%#((GridView)Container.NamingContainer).PageIndex!
=0%>">首页
LinkButton>
LinkButtonID="LinkButtonPreviousPage"runat="server"
CommandArgument="Prev"CommandName="Page"
Visible="<%#((GridView)Container.NamingContainer).PageIndex!
=0%>">上一页
LinkButton>
LinkButtonID="LinkButtonNextPage"runat="server"CommandArgument="Next"
CommandName="Page"
Visible="<%#((GridView)Container.NamingContainer).PageIndex!
=((GridView)Container.NamingContainer).PageCount-1%>">下一页
LinkButton>
LinkButtonID="LinkButtonLastPage"runat="server"CommandArgument="Last"
CommandName="Page"
Visible="<%#((GridView)Container.NamingContainer).PageIndex!
=((GridView)Container.NamingContainer).PageCount-1%>">尾页
LinkButton>
共LabelID="LabelPageCount"runat="server"
Text="<%#((GridView)Container.NamingContainer).PageCount%>">
Label>
页 第LabelID="Label2"runat="server"
Text="<%#((GridView)Container.NamingContainer).PageIndex+1%>">
Label>
页
GridView>
Panel>
|
23%">
45%"class="border">
PanelID="Panel1"runat="server"CssClass="dh1"ScrollBars="Auto">
LabelID="Label1"runat="server"Text="教师姓名">
Label>
TextBoxID="txtname"runat="server">
TextBox>
LabelID="Label2"runat="server"Text="科目">
Label>
TextBoxID="txtproject"runat="server">
TextBox>
LabelID="Label3"runat="server"Text="地点">
Label>
TextBoxID="txtdidian"runat="server">
TextBox>
ButtonID="btnOK"runat="server"CssClass="btn"onclick="btnOK_Click"
Text="确定"/>
ButtonID="btnCancle"runat="server"CssClass="btn"
onclick="btnCancle_Click"Text="取消"/>
Panel>
|
CheckBoxID="CheckBox2"runat="server"AutoPostBack="True"Font-Size="9pt"OnCheckedChanged="CheckBox2_CheckedChanged"Text="全选"/>
ButtonID="Button2"runat="server"Font-Size="9pt"Text="取消"
OnClick="Button2_Click"CssClass="btn"/>
ButtonID="Button3"runat="server"Font-Size="9pt"Text="删除"
OnClick="Button3_Click"CssClass="btn"/>
ButtonID="Button1"runat="server"CssClass="btn"Text="添加数据"
onclick="Button1_Click"/>
ButtonID="btndaochu"runat="server"CssClass="btn"
onclick="btndaochu_Click"Text="导出数据"/>
|
FileUploadID="myFile"runat="server"CssClass="btn"/>
ButtonID="btndaoru"runat="server"CssClass="btn"Text="导入"
onclick="btndaoru_Click"/>
点击查看导入格式
ButtonID="btn2"runat="server"CssClass="btn"onclick="btn2_Click"
Text="提交数据文件"/>
ButtonID="btnreturn"runat="server"CssClass="btn"
onclick="btnreturn_Click"Text="返回"/>
|
后台代码
usingSystem;
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Xml.Linq;
usingSystem.Data.OleDb;
usingSystem.Drawing;
usingSystem.IO;
usingSystem.Text;
publicpartialclasscounselor_teachinfo:
System.Web.UI.Page
{
DbHelperdb=newDbHelper();
protectedstaticintn;//记录数据行数
publicstaticDataSetmyDataSet;
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
bind();
Panel1.Visible=false;//添加数据框隐藏
btn2.Visible=false;//提交数据文件按钮隐藏
btnreturn.Visible=false;//返回按钮隐藏
}
}
//导入按钮单击事件
protectedvoidbtndaoru_Click(objectsender,EventArgse)
{
if(myFile.PostedFile.FileName!
="")
{
this.myGridView.Columns[1].Visible=false;//隐藏编辑列
this.myGridView.Columns[0].Visible=false;//隐藏删除列
Button1.Visible=false;//隐藏添加按钮
btnreturn.Visible=true;//返回按钮显示
//上传文件的绝对路径
stringsFile=myFile.PostedFile.FileName;
//获取文件全名
sFile=sFile.Substring(sFile.LastIndexOf("\\")+1);
//获取后缀名
sFile=sFile.Substring(sFile.LastIndexOf("."));
if(sFile.ToLower()!
=".xls")
{
Response.Write("请选择Excel文件!
");
Response.End();
}
//为了防止重名,获得日期为文件名年月日时分秒毫秒
stringdatatime=System.DateTime.Now.ToString("yyyMMddHHmmssffff");
//上传后文件的新名
sFile=datatime+sFile;
//AppDomain.CurrentDomain.BaseDirectory.ToString()获取此项目的根目录
//sPath获取上传后的路径
stringsPath=AppDomain.CurrentDomain.BaseDirectory.ToString()+"ExcelFiles\\"+sFile;
//上传文件
myFile.PostedFile.SaveAs(sPath);
this.myGridView.DataSource=GetExcelContent(sPath);
this.myGridView.DataBind();
this.myGridView.Rows[0].Visible=false;
btn2.Visible=true;//显示提交数据按钮
}
else
{
Response.Write("");
}
}
privateDataSetGetExcelContent(stringfilepath)
{
stringstrCon="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+filepath+";ExtendedProperties='Excel8.0;HDR=No;IMEX=1'";
System.Data.OleDb.OleDbConnectionmyConn=newSystem.Data.OleDb.OleDbConnection(strCon);
stringstrCom="SELECTF1asid,F2AS教师姓名,f3as科目,F4as地点from[Sheet1$]";
myConn.Open();
System.Data.OleDb.OleDbDataAdaptermyCommand=newSystem.Data.OleDb.OleDbDataAdapter(strCom,myConn);
//创建一个DataSet对象
myDataSet=newDataSet();
//得到自己的DataSet对象
myCommand.Fill(myDataSet);
//关闭此数据链接
myConn.Close();
n=myDataSet.Tables[0].Rows.Count;
returnmyDataSet;
}
//提交数据文件按钮单击事件
protectedvoidbtn2_Click(objectsender,EventArgse)
{
intm=0;
stringmessage="";
if(n!
=0)
{
for(inti=1;i{
//获取gridview中的所有数据
stringstr1=myDataSet.Tables[0].Rows[i][1].ToString();
stringstr2=myDataSet.Tables[0].Rows[i][2].ToString();
stringstr3=myDataSet.Tables[0].Rows[i][3].ToString();
//Response.Write(name);
//执行sql插入数据库的语句
stringcommandString="insertintoTeachinfo(教师姓名,科目,地点)values('"+str1+"','"+str2+"','"+str3+"')";
DbHelperdb=newDbHelper();
try
{
db.ExeCommand(commandString);
m=1;
}
catch(Exceptionexc)
{
return;
message=exc.ToString();
}
}
if(m==1)
{
Response.Write("");
//myGridView.DataSource="";
bind();
this.myGridView.Columns[0].Visible=true;//显示编辑列
this.myGridView.Columns[1].Visible=true;//显示删除列
Button1.Visible=true;//显示添加按钮
btnreturn.Visible=false;//返回按钮隐藏
btn2.Visible=false;//隐藏提交数据按钮
}
else
{
Response.Write("");
return;
}
}
}
protectedvoidmyGridView_RowEditing(objectsender,GridViewEditEventArgse)
{
myGridView.EditIndex=e.NewEditIndex;
bind();
}
//更新
protectedvoidmyGridView_RowUpdating(objectsender,GridViewUpdateEventArgse)
{
stringcommandString="updateTeachinfoset教师姓名='"+((TextBox)(myGridView.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()+""+
"',科目='"+((TextBox)(myGridView.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim()+"',地点='"+
""+((TextBox)(myGridView.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim()+"'whereid='"+myGridView.DataKeys[e.RowIndex].Value.ToString()+"'";
db.ExeCommand(commandString);
myGridView.EditIndex=-1;
bind();
}
//取消
protectedvoidmyGridView_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)
{
myGridView.EditIndex=-1;
bind();
}
//绑定
publicvoidbind()
{
DataSetmySet=newDataSet();
mySet.Clear();
stringsqlstr="select*fromTeachinfo";
mySet=db.FillDataset(sqlstr,"teachinfo");
myGridView.DataSource=mySet.Tables[0].DefaultView;
myGridView.DataKeyNames=newstring[]{"id"};//主键
myGridView.DataBind();
}
protectedvoidmyGridView_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
myGridView.PageIndex=e.NewPageIndex;
bind();
}
//添加按钮单击事件
protectedvoidButton1_Click(objectsender,EventArgse)
{
Panel1.Visibl