zoukankan
html css js c++ java
功能齐全的DataGrid
//
目前功能:编辑、排序、单选项、复选项、合并单元格、产生序列号、联动下拉框、删除、超连接、鼠标移动改变颜色、奇偶项颜色区分、排序、分页
1.html代码
<
HTML
>
<
HEAD
>
<
title
>
DatagridTest
</
title
>
<
meta
content
="Microsoft Visual Studio .NET 7.1"
name
="GENERATOR"
>
<
meta
content
="C#"
name
="CODE_LANGUAGE"
>
<
meta
content
="JavaScript"
name
="vs_defaultClientScript"
>
<
meta
content
="http://schemas.microsoft.com/intellisense/ie5"
name
="vs_targetSchema"
>
<
script
language
="javascript"
>
function
fun_option(obj)
{
document.Form1.hiduserid.value
=
obj.value;
}
function
chkAll_true()
{
var
chkall
=
document.all[
"
chkAll
"
];
var
chkother
=
document.getElementsByTagName(
"
input
"
);
for
(
var
i
=
0
;i
<
chkother.length;i
++
)
{
if
( chkother[i].type
==
'checkbox')
{
if
(chkother[i].id.indexOf('chkExport')
>-
1
)
{
if
(chkall.checked
==
true
)
{
chkother[i].checked
=
true
;
}
else
{
chkother[i].checked
=
false
;
}
}
}
}
}
function
Delete()
{
var
al
=
new
Array();
var
chkother
=
document.getElementsByTagName(
"
input
"
);
for
(
var
i
=
0
,j
=
0
;i
<
chkother.length;i
++
)
{
if
( chkother[i].type
==
'checkbox')
{
if
(chkother[i].id.indexOf('chkExport')
>-
1
)
{
if
(chkother[i].checked
==
true
)
{
al[j]
=
chkother[i].value;
j
++
;
}
}
}
}
if
(al
==
""
)
{
alert('You need to select a row
in
the list before selecting Delete.\r\nPlease select a row and
try
again.');
}
else
if
(window.confirm(
"
Are you sure to delete all these?
"
))
{
var
deleteID
=
'
<%=
btndelete.ClientID
%>
';
window.document.all(deleteID).click();
}
else { return false; }
}
</
script
>
</
HEAD
>
<
body
>
<
form
id
="Form1"
method
="post"
runat
="server"
>
<
TABLE
id
="Table1"
height
="100%"
cellSpacing
="1"
cellPadding
="1"
width
="100%"
border
="1"
>
<
tr
>
<
td
><
asp:dropdownlist
id
="DropDownList1"
runat
="server"
AutoPostBack
="True"
></
asp:dropdownlist
><
asp:dropdownlist
id
="DropDownList2"
runat
="server"
AutoPostBack
="True"
></
asp:dropdownlist
><
asp:dropdownlist
id
="DropDownList3"
runat
="server"
></
asp:dropdownlist
><
asp:textbox
id
="TextBox1"
runat
="server"
></
asp:textbox
><
asp:checkbox
id
="CheckBox1"
runat
="server"
Text
="可见否"
></
asp:checkbox
><
asp:button
id
="Button1"
runat
="server"
Text
="保存"
></
asp:button
><
asp:button
id
="Button2"
runat
="server"
Text
="导出Excel"
></
asp:button
></
td
>
</
tr
>
<
tr
height
="30"
>
<
td
><
INPUT
id
="chkAll"
onclick
="chkAll_true()"
type
="checkbox"
>
全选/取消
<
asp:button
id
="btndelete"
runat
="server"
Text
="删除"
></
asp:button
></
td
>
</
tr
>
<
TR
vAlign
="top"
>
<
TD
width
="100%"
colSpan
="5"
><
asp:datagrid
id
="DataGrid1"
runat
="server"
OnDeleteCommand
="Delete"
ForeColor
="Black"
GridLines
="None"
CellPadding
="2"
BackColor
="LightGoldenrodYellow"
BorderWidth
="1px"
BorderColor
="Tan"
AllowSorting
="True"
AutoGenerateColumns
="False"
DataKeyField
="UserID"
OnUpdateCommand
="Update"
OnCancelCommand
="Cancel"
OnEditCommand
="Edit"
PageSize
="5"
AllowPaging
="True"
>
<
FooterStyle
BackColor
="Tan"
></
FooterStyle
>
<
SelectedItemStyle
ForeColor
="GhostWhite"
BackColor
="DarkSlateBlue"
></
SelectedItemStyle
>
<
AlternatingItemStyle
BackColor
="PaleGoldenrod"
></
AlternatingItemStyle
>
<
HeaderStyle
Font-Bold
="True"
BackColor
="Tan"
></
HeaderStyle
>
<
Columns
>
<
asp:TemplateColumn
HeaderText
="序号"
>
<
HeaderStyle
Width
="10px"
></
HeaderStyle
>
<
ItemTemplate
>
<
INPUT
id
=radio
onclick
=fun_option(this)
type
=radio
value
='<%#
DataBinder.Eval(Container.DataItem,"UserID") %
>
' name=radio>
</
ItemTemplate
>
<
FooterTemplate
>
</
FooterTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
HeaderText
="序号"
>
<
HeaderStyle
Width
="10px"
></
HeaderStyle
>
<
FooterTemplate
>
</
FooterTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
>
<
HeaderStyle
Width
="10px"
></
HeaderStyle
>
<
ItemTemplate
>
<
asp:CheckBox
id
="chkExport"
Runat
="server"
></
asp:CheckBox
>
</
ItemTemplate
>
</
asp:TemplateColumn
>
<
asp:BoundColumn
DataField
="UserID"
SortExpression
="UserID"
ReadOnly
="True"
HeaderText
="UserID"
>
<
HeaderStyle
Width
="70px"
></
HeaderStyle
>
</
asp:BoundColumn
>
<
asp:TemplateColumn
SortExpression
="UserName"
HeaderText
="姓名"
>
<
HeaderStyle
Width
="70px"
></
HeaderStyle
>
<
ItemTemplate
>
<
a
href
='form1.aspx?id=<%#
DataBinder.Eval(Container.DataItem,"UserID") %
>
&name
=
<%
# DataBinder.Eval(Container.DataItem,
"
UserName
"
)
%>
' target="_blank">
<%
# DataBinder.Eval(Container.DataItem,
"
UserName
"
)
%>
</
a
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
id
=UserName
Text
='<%#
DataBinder.Eval(Container.DataItem,"UserName") %
>
' Width="100%" Runat="server">
</
asp:TextBox
>
</
EditItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
SortExpression
="province"
HeaderText
="省市"
>
<
HeaderStyle
Width
="70px"
></
HeaderStyle
>
<
ItemTemplate
>
<%
# DataBinder.Eval(Container.DataItem,
"
province
"
)
%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:DropDownList
id
="province"
Width
="100%"
Runat
="server"
AutoPostBack
="True"
OnSelectedIndexChanged
="ddlprovince_SelectedIndexChanged"
></
asp:DropDownList
>
</
EditItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
SortExpression
="city"
HeaderText
="县市"
>
<
HeaderStyle
Width
="70px"
></
HeaderStyle
>
<
ItemTemplate
>
<%
# DataBinder.Eval(Container.DataItem,
"
city
"
)
%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:DropDownList
id
="city"
Runat
="server"
Width
="100%"
AutoPostBack
="True"
OnSelectedIndexChanged
="ddlcity_SelectedIndexChanged"
></
asp:DropDownList
>
</
EditItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
SortExpression
="area"
HeaderText
="乡镇"
>
<
HeaderStyle
Width
="70px"
></
HeaderStyle
>
<
ItemTemplate
>
<%
# DataBinder.Eval(Container.DataItem,
"
area
"
)
%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:DropDownList
id
="area"
Runat
="server"
Width
="100%"
></
asp:DropDownList
>
</
EditItemTemplate
>
</
asp:TemplateColumn
>
<
asp:TemplateColumn
SortExpression
="Enabled"
HeaderText
="可见否"
>
<
HeaderStyle
Width
="70px"
></
HeaderStyle
>
<
ItemTemplate
>
<%
# DataBinder.Eval(Container.DataItem,
"
Enabled
"
)
%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:CheckBox
id
=chkenabled
Runat
="server"
Checked
='<%#
DataBinder.Eval(Container.DataItem,"Enabled") %
>
'>
</
asp:CheckBox
>
</
EditItemTemplate
>
</
asp:TemplateColumn
>
<
asp:EditCommandColumn
ButtonType
="PushButton"
UpdateText
="更新"
HeaderText
="编辑"
CancelText
="取消"
EditText
="编辑"
></
asp:EditCommandColumn
>
<
asp:ButtonColumn
Text
="删除"
ButtonType
="PushButton"
HeaderText
="删除"
CommandName
="Delete"
></
asp:ButtonColumn
>
</
Columns
>
<
PagerStyle
NextPageText
="下一页"
PrevPageText
="上一页"
HorizontalAlign
="Right"
ForeColor
="DarkSlateBlue"
BackColor
="PaleGoldenrod"
Mode
="NumericPages"
></
PagerStyle
>
</
asp:datagrid
></
TD
>
</
TR
>
<
tr
height
="30"
>
<
td
></
td
>
</
tr
>
</
TABLE
>
<
INPUT
id
="hiduserid"
type
="hidden"
runat
="server"
>
</
form
>
</
body
>
</
HTML
>
2.cs代码
using
System.Data.SqlClient;
using
System.Text;
public
class
DatagridTest : System.Web.UI.Page
{
protected
System.Web.UI.WebControls.DataGrid DataGrid1;
protected
System.Web.UI.HtmlControls.HtmlInputHidden hiduserid;
protected
System.Web.UI.WebControls.Button btndelete;
protected
System.Web.UI.WebControls.DropDownList DropDownList1;
protected
System.Web.UI.WebControls.DropDownList DropDownList2;
protected
System.Web.UI.WebControls.DropDownList DropDownList3;
protected
System.Web.UI.WebControls.CheckBox CheckBox1;
protected
System.Web.UI.WebControls.TextBox TextBox1;
protected
System.Web.UI.WebControls.Button Button1;
protected
System.Web.UI.WebControls.Button Button2;
private
string
constring
=
""
;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
if
(
!
Page.IsPostBack)
{
ListProvince();
ListCity();
ListArea();
btndelete.Attributes.Add(
"
onclick
"
,
"return
Delete();
"
);
SortExpression
=
""
;
sort
=
"
desc
"
;
DataBind();
}
}
DataBind
#region
DataBind
private
void
DataBind()
{
string
sql
=
"
select a.UserID,a.UserName,b.province,c.city,d.area,a.Enabled,b.provinceID,c.cityID,d.areaID from testgrid a
"
;
sql
+=
"
left join province b on a.provinceID=b.provinceID
"
;
sql
+=
"
left join city c on a.cityID=c.cityID
"
;
sql
+=
"
left join area d on a.areaID=d.areaID
"
;
DataSet ds
=
GetDataSet(sql);
dt
=
ds.Tables[
0
];
dt.DefaultView.Sort
=
"
UserID asc
"
;
dt.AcceptChanges();
this
.DataGrid1.DataSource
=
dt;
this
.DataGrid1.DataBind();
DataTable dt1
=
new
DataTable();
dt1
=
(DataTable)(DataGrid1.DataSource);
}
#endregion
Web Form Designer generated code
#region
Web Form Designer generated code
override
protected
void
OnInit(EventArgs e)
{
//
//
CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base
.OnInit(e);
this
.DataGrid1.ItemDataBound
+=
new
DataGridItemEventHandler(DataGrid1_ItemDataBound);
this
.DataGrid1.SortCommand
+=
new
DataGridSortCommandEventHandler(DataGrid1_SortCommand);
this
.DataGrid1.ItemCreated
+=
new
DataGridItemEventHandler(DataGrid1_ItemCreated);
this
.DataGrid1.PageIndexChanged
+=
new
DataGridPageChangedEventHandler(DataGrid1_PageIndexChanged);
this
.btndelete.Click
+=
new
System.EventHandler(
this
.btndelete_Click);
this
.DropDownList1.SelectedIndexChanged
+=
new
System.EventHandler(
this
.DropDownList1_SelectedIndexChanged);
this
.DropDownList2.SelectedIndexChanged
+=
new
System.EventHandler(
this
.DropDownList2_SelectedIndexChanged);
this
.Button1.Click
+=
new
System.EventHandler(
this
.Button1_Click);
this
.Button2.Click
+=
new
System.EventHandler(
this
.Button2_Click);
}
/**/
///
<summary>
///
Required method for Designer support - do not modify
///
the contents of this method with the code editor.
///
</summary>
private
void
InitializeComponent()
{
this
.DropDownList1.SelectedIndexChanged
+=
new
System.EventHandler(
this
.DropDownList1_SelectedIndexChanged);
this
.DropDownList2.SelectedIndexChanged
+=
new
System.EventHandler(
this
.DropDownList2_SelectedIndexChanged);
this
.Button1.Click
+=
new
System.EventHandler(
this
.Button1_Click);
this
.Button2.Click
+=
new
System.EventHandler(
this
.Button2_Click);
this
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
GetDataSet
#region
GetDataSet
private
DataSet GetDataSet(
string
sql)
{
constring
=
System.Configuration.ConfigurationSettings.AppSettings[
"
ConnectionString
"
];
SqlDataAdapter sda
=
new
SqlDataAdapter(sql,constring);
DataSet ds
=
new
DataSet();
sda.Fill(ds);
return
ds;
}
#endregion
DataGrid1_ItemDataBound
#region
DataGrid1_ItemDataBound
private
void
DataGrid1_ItemDataBound(
object
sender, DataGridItemEventArgs e)
{
e.Item.Cells[
1
].Text
=
Convert.ToString(e.Item.ItemIndex
+
1
);
//
产生序号
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'
"
);
}
switch
(e.Item.ItemType)
{
case
ListItemType.Item:
case
ListItemType.AlternatingItem:
e.Item.Attributes.Add(
"
ondblclick
"
,
"
alert('
"
+
e.Item.ItemIndex
+
"
');
"
);
break
;
case
ListItemType.Header:
e.Item.Cells[
0
].ColumnSpan
=
2
;
//
合并单元格
e.Item.Cells[
1
].Visible
=
false
;
break
;
case
ListItemType.EditItem:
for
(
int
i
=
4
; i
<
DataGrid1.Columns.Count
-
2
; i
++
)
//
只调整被编辑的列
{
if
(e.Item.ItemType
==
ListItemType.EditItem)
{
e.Item.Cells[i].Attributes.Add(
"
Width
"
,
"
70px
"
);
}
}
string
sqlprovince
=
"
select * from province
"
;
DataSet dsprovince
=
GetDataSet(sqlprovince);
//
一级
if
(e.Item.ItemType
==
ListItemType.EditItem)
{
DropDownList ddlprovince
=
(DropDownList)e.Item.FindControl(
"
province
"
);
ddlprovince.DataSource
=
dsprovince;
ddlprovince.DataTextField
=
"
province
"
;
ddlprovince.DataValueField
=
"
provinceID
"
;
ddlprovince.DataBind();
ddlprovince.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,
"
provinceID
"
))).Selected
=
true
;
//
二级
if
(e.Item.ItemType
==
ListItemType.EditItem)
{
if
(ddlprovince.SelectedIndex
!=-
1
)
{
string
sqlcity
=
"
select * from city where father='
"
+
ddlprovince.SelectedValue
+
"
'
"
;
DropDownList ddlcity
=
(DropDownList)e.Item.FindControl(
"
city
"
);
DataSet dscity
=
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
;
//
三级
if
(e.Item.ItemType
==
ListItemType.EditItem)
{
if
(ddlcity.SelectedIndex
!=-
1
)
{
string
sqlarea
=
"
select * from area where father='
"
+
ddlcity.SelectedValue
+
"
'
"
;
DropDownList ddlarea
=
(DropDownList)e.Item.FindControl(
"
area
"
);
DataSet dsarea
=
GetDataSet(sqlarea);
ddlarea.DataSource
=
dsarea;
ddlarea.DataTextField
=
"
area
"
;
ddlarea.DataValueField
=
"
areaID
"
;
ddlarea.DataBind();
ddlarea.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,
"
areaID
"
))).Selected
=
true
;
}
}
}
}
}
break
;
default
:
break
;
}
}
#endregion
DataGrid1_SortCommand
#region
DataGrid1_SortCommand
private
void
DataGrid1_SortCommand(
object
source, DataGridSortCommandEventArgs e)
{
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
#region
DataGrid1_ItemCreated
private
void
DataGrid1_ItemCreated(
object
sender, DataGridItemEventArgs e)
{
for
(
int
i
=
3
; i
<
DataGrid1.Columns.Count
-
2
; i
++
)
//
-2的意思是两个button列不用排序
{
if
(i
==
0
)
continue
;
if
(e.Item.ItemIndex
==-
1
)
{
if
(DataGrid1.Columns[i].SortExpression
==
SortExpression)
{
try
{
TableCell tableCell
=
e.Item.Cells[i];
Label label
=
new
Label();
label.Font.Name
=
"
webdings
"
;
if
(sort
==
"
asc
"
)
{
label.Text
=
"
6
"
;
}
else
{
label.Text
=
"
5
"
;
}
label.Width
=
20
;
tableCell.Controls.Add(label);
}
catch
{}
}
}
}
foreach
(DataGridItem di
in
this
.DataGrid1.Items)
{
if
(di.ItemType
==
ListItemType.Item
||
di.ItemType
==
ListItemType.AlternatingItem)
{
((Button)di.Cells[
10
].Controls[
0
]).Attributes.Add(
"
onclick
"
,
"
return confirm('确认删除此项吗?');
"
);
}
}
}
#endregion
property
#region
property
private
DataTable dt
{
get
{
if
(ViewState[
"
dt
"
]
!=
null
)
{
return
(DataTable)ViewState[
"
dt
"
];
}
else
{
return
null
;
}
}
set
{
ViewState[
"
dt
"
]
=
value;
}
}
private
string
SortExpression
{
get
{
if
(ViewState[
"
SortExpression
"
]
!=
null
&&
ViewState[
"
SortExpression
"
].ToString()
!=
string
.Empty)
{
return
ViewState[
"
SortExpression
"
].ToString();
}
else
{
return
""
;
}
}
set
{
ViewState[
"
SortExpression
"
]
=
value;
}
}
private
string
sort
{
get
{
if
(ViewState[
"
sort
"
]
!=
null
&&
ViewState[
"
sort
"
].ToString()
!=
string
.Empty)
{
return
ViewState[
"
sort
"
].ToString();
}
else
{
return
""
;
}
}
set
{
ViewState[
"
sort
"
]
=
value;
}
}
#endregion
Edit
#region
Edit
protected
void
Edit(
object
sender,DataGridCommandEventArgs e)
{
this
.DataGrid1.EditItemIndex
=
e.Item.ItemIndex;
DataBind();
}
#endregion
Cancel
#region
Cancel
protected
void
Cancel(
object
sender,DataGridCommandEventArgs e)
{
this
.DataGrid1.EditItemIndex
=-
1
;
DataBind();
}
#endregion
Update
#region
Update
protected
void
Update(
object
sender,DataGridCommandEventArgs e)
{
if
(e.Item.ItemType
==
ListItemType.EditItem)
{
SqlConnection conn
=
new
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[
"
ConnectionString
"
]);
SqlCommand comm
=
new
SqlCommand(
"
update testgrid set UserName=@UserName,provinceID=@province,cityID=@city,areaID=@area,Enabled=@Enabled where UserID=@UserID
"
,conn);
SqlParameter parm1
=
new
SqlParameter(
"
@UserName
"
,SqlDbType.NVarChar,
50
);
parm1.Value
=
((TextBox)e.Item.FindControl(
"
UserName
"
)).Text;
SqlParameter parm2
=
new
SqlParameter(
"
@province
"
,SqlDbType.NVarChar,
50
);
parm2.Value
=
((DropDownList)e.Item.FindControl(
"
province
"
)).SelectedValue;
SqlParameter parm3
=
new
SqlParameter(
"
@city
"
,SqlDbType.NVarChar,
50
);
parm3.Value
=
((DropDownList)e.Item.FindControl(
"
city
"
)).SelectedValue;
SqlParameter parm4
=
new
SqlParameter(
"
@area
"
,SqlDbType.NVarChar,
50
);
parm4.Value
=
((DropDownList)e.Item.FindControl(
"
area
"
)).SelectedValue;
SqlParameter parm5
=
new
SqlParameter(
"
@Enabled
"
,SqlDbType.Bit);
parm5.Value
=
((CheckBox)e.Item.FindControl(
"
chkenabled
"
)).Checked;
SqlParameter parm6
=
new
SqlParameter(
"
@UserID
"
,SqlDbType.Int);
parm6.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);
comm.Parameters.Add(parm6);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
this
.DataGrid1.EditItemIndex
=-
1
;
DataBind();
}
}
#endregion
Delete event
#region
Delete event
protected
void
Delete(
object
sender,DataGridCommandEventArgs e)
{
delete(
this
.DataGrid1.DataKeys[e.Item.ItemIndex].ToString());
}
#endregion
ddlprovince_SelectedIndexChanged
#region
ddlprovince_SelectedIndexChanged
public
void
ddlprovince_SelectedIndexChanged(
object
sender, EventArgs e)
{
DropDownList ddlprovince
=
sender
as
DropDownList;
if
(ddlprovince.SelectedIndex
!=-
1
)
{
DropDownList ddlcity
=
((Control)(((Control)sender)).Parent).FindControl(
"
city
"
)
as
DropDownList;
string
sqlcity
=
"
select * from city where father='
"
+
ddlprovince.SelectedValue
+
"
'
"
;
DataSet dscity
=
GetDataSet(sqlcity);
ddlcity.DataSource
=
dscity;
ddlcity.DataTextField
=
"
city
"
;
ddlcity.DataValueField
=
"
cityID
"
;
ddlcity.DataBind();
}
}
#endregion
ddlcity_SelectedIndexChanged
#region
ddlcity_SelectedIndexChanged
public
void
ddlcity_SelectedIndexChanged(
object
sender, EventArgs e)
{
DropDownList ddlcity
=
sender
as
DropDownList;
if
(ddlcity.SelectedIndex
!=-
1
)
{
DropDownList ddlarea
=
((Control)(((Control)sender)).Parent).FindControl(
"
city
"
)
as
DropDownList;
string
sqlarea
=
"
select * from area where father='
"
+
ddlcity.SelectedValue
+
"
'
"
;
DataSet dsarea
=
GetDataSet(sqlarea);
ddlarea.DataSource
=
dsarea;
ddlarea.DataTextField
=
"
area
"
;
ddlarea.DataValueField
=
"
areaID
"
;
ddlarea.DataBind();
}
}
#endregion
btndelete_Click
#region
btndelete_Click
private
void
btndelete_Click(
object
sender, System.EventArgs e)
{
StringBuilder s
=
new
StringBuilder();
foreach
(DataGridItem di
in
DataGrid1.Items)
{
if
(((CheckBox)(di.FindControl(
"
chkExport
"
))).Checked
==
true
)
{
s.Append(
"
,
"
).Append(DataGrid1.DataKeys[di.ItemIndex].ToString());
}
}
if
(s.ToString().StartsWith(
"
,
"
)
==
true
)
{
delete(s.ToString().Substring(
1
,s.ToString().Length
-
1
));
}
}
#endregion
delete
#region
delete
private
void
delete(
string
id)
{
SqlConnection conn
=
new
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[
"
ConnectionString
"
]);
string
sql
=
@"
declare @sql nvarchar(400)
set @sql = 'delete from testgrid where UserID in('+@UserID+')'
exec( @sql)
"
;
SqlCommand comm
=
new
SqlCommand(sql,conn);
SqlParameter parm1
=
new
SqlParameter(
"
@UserID
"
,SqlDbType.VarChar,
200
);
parm1.Value
=
id;
comm.Parameters.Add(parm1);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
DataBind();
}
#endregion
ListProvince
#region
ListProvince
private
void
ListProvince()
{
string
sql
=
"
select * from province
"
;
DataSet ds
=
GetDataSet(sql);
DropDownList1.DataSource
=
ds;
DropDownList1.DataTextField
=
"
province
"
;
DropDownList1.DataValueField
=
"
provinceID
"
;
DropDownList1.DataBind();
}
#endregion
ListCity
#region
ListCity
private
void
ListCity()
{
if
(DropDownList1.SelectedIndex
!=-
1
)
{
string
sql
=
"
select * from city where father='
"
+
DropDownList1.SelectedValue
+
"
'
"
;
DataSet ds
=
GetDataSet(sql);
DropDownList2.DataSource
=
ds;
DropDownList2.DataTextField
=
"
city
"
;
DropDownList2.DataValueField
=
"
cityID
"
;
DropDownList2.DataBind();
}
}
#endregion
ListArea
#region
ListArea
private
void
ListArea()
{
if
(DropDownList2.SelectedIndex
!=-
1
)
{
string
sql
=
"
select * from area where father='
"
+
DropDownList2.SelectedValue
+
"
'
"
;
DataSet ds
=
GetDataSet(sql);
DropDownList3.DataSource
=
ds;
DropDownList3.DataTextField
=
"
area
"
;
DropDownList3.DataValueField
=
"
areaID
"
;
DropDownList3.DataBind();
}
}
#endregion
save
#region
save
private
void
Button1_Click(
object
sender, System.EventArgs e)
{
SqlConnection conn
=
new
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[
"
ConnectionString
"
]);
SqlCommand comm
=
new
SqlCommand(
"
insert into testgrid (UserName,provinceID,cityID,areaID,Enabled) values(@UserName,@provinceID,@cityID,@areaID,@Enabled)
"
,conn);
SqlParameter parm1
=
new
SqlParameter(
"
@UserName
"
,SqlDbType.NVarChar,
50
);
parm1.Value
=
this
.TextBox1.Text;
SqlParameter parm2
=
new
SqlParameter(
"
@provinceID
"
,SqlDbType.NVarChar,
50
);
parm2.Value
=
this
.DropDownList1.SelectedValue;
SqlParameter parm3
=
new
SqlParameter(
"
@cityID
"
,SqlDbType.NVarChar,
50
);
parm3.Value
=
this
.DropDownList2.SelectedValue;
SqlParameter parm4
=
new
SqlParameter(
"
@areaID
"
,SqlDbType.NVarChar,
50
);
parm4.Value
=
this
.DropDownList3.SelectedValue;
SqlParameter parm5
=
new
SqlParameter(
"
@Enabled
"
,SqlDbType.Bit);
parm5.Value
=
this
.CheckBox1.Checked;
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();
DataBind();
}
#endregion
private
void
DropDownList1_SelectedIndexChanged(
object
sender, System.EventArgs e)
{
ListCity();
}
private
void
DropDownList2_SelectedIndexChanged(
object
sender, System.EventArgs e)
{
ListArea();
}
private
void
Button2_Click(
object
sender, System.EventArgs e)
{
ToExcel(
this
.DataGrid1,
"
meng
"
);
}
ToExcel
#region
ToExcel
public
static
void
ToExcel(System.Web.UI.Control ctl,
string
FileName)
{
HttpContext.Current.Response.Charset
=
"
UTF-8
"
;
HttpContext.Current.Response.ContentEncoding
=
System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType
=
"
application/ms-excel
"
;
HttpContext.Current.Response.AppendHeader(
"
Content-Disposition
"
,
"
attachment;filename=
"
+
""
+
FileName
+
"
.xls
"
);
ctl.Page.EnableViewState
=
false
;
System.IO.StringWriter tw
=
new
System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw
=
new
System.Web.UI.HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
#endregion
private
void
DataGrid1_PageIndexChanged(
object
source, DataGridPageChangedEventArgs e)
{
this
.DataGrid1.CurrentPageIndex
=
e.NewPageIndex;
DataBind();
}
}
3. 数据库教本(或下载真实数据
/Files/singlepine/area.rar
)
if
exists
(
select
*
from
dbo.sysobjects
where
id
=
object_id
(N
'
[dbo].[TestGrid]
'
)
and
OBJECTPROPERTY
(id, N
'
IsUserTable
'
)
=
1
)
drop
table
[
dbo
]
.
[
TestGrid
]
GO
if
exists
(
select
*
from
dbo.sysobjects
where
id
=
object_id
(N
'
[dbo].[province]
'
)
and
OBJECTPROPERTY
(id, N
'
IsUserTable
'
)
=
1
)
drop
table
[
dbo
]
.
[
province
]
GO
if
exists
(
select
*
from
dbo.sysobjects
where
id
=
object_id
(N
'
[dbo].[city]
'
)
and
OBJECTPROPERTY
(id, N
'
IsUserTable
'
)
=
1
)
drop
table
[
dbo
]
.
[
city
]
GO
if
exists
(
select
*
from
dbo.sysobjects
where
id
=
object_id
(N
'
[dbo].[area]
'
)
and
OBJECTPROPERTY
(id, N
'
IsUserTable
'
)
=
1
)
drop
table
[
dbo
]
.
[
area
]
GO
CREATE
TABLE
[
dbo
]
.
[
TestGrid
]
(
[
UserID
]
[
int
]
IDENTITY
(
1
,
1
)
NOT
NULL
,
[
UserName
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
provinceID
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
cityID
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
areaID
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
Enabled
]
[
bit
]
NULL
)
ON
[
PRIMARY
]
GO
CREATE
TABLE
[
dbo
]
.
[
province
]
(
[
id
]
[
int
]
NOT
NULL
,
[
provinceID
]
[
nvarchar
]
(
6
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
province
]
[
nvarchar
]
(
40
) COLLATE Chinese_PRC_CI_AS
NULL
)
ON
[
PRIMARY
]
GO
CREATE
TABLE
[
dbo
]
.
[
city
]
(
[
id
]
[
int
]
NOT
NULL
,
[
cityID
]
[
nvarchar
]
(
6
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
city
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
father
]
[
nvarchar
]
(
6
) COLLATE Chinese_PRC_CI_AS
NULL
)
ON
[
PRIMARY
]
GO
CREATE
TABLE
[
dbo
]
.
[
area
]
(
[
id
]
[
int
]
NOT
NULL
,
[
areaID
]
[
nvarchar
]
(
50
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
area
]
[
nvarchar
]
(
60
) COLLATE Chinese_PRC_CI_AS
NULL
,
[
father
]
[
nvarchar
]
(
6
) COLLATE Chinese_PRC_CI_AS
NULL
)
ON
[
PRIMARY
]
GO
4.源代码下载
/Files/singlepine/datagrid.rar
查看全文
相关阅读:
为什么建立视图
Oracle constraints type 约束类型
python 环境
查看oracle 数据库的编码格式
trigger
闪回操作 flashback
row_number()over(partiton by order by ) rank() over(partition by order by )
lag() 偏移
date
配置ES中IK分词器远程词库
原文地址:https://www.cnblogs.com/studio313/p/373680.html
最新文章
MySQL中OPTIMIZE TABLE和慢查询分析
多版本PHP使用composer时安装的推荐方式
Odoo13_窗口动作和服务器动作的简单使用
python_Linux上操作.doc文件
Python使用谷歌langdetect检测语言
ubuntu18 docker-compose安装harbor镜像仓库重启,某些容器没有自动启动问题[已解决]
ubuntu20 本地gitlab设置https
K8s NodeHasFDPressure
Linux密钥rsa加密原理和ssh使用密钥实现免密码登录
2款xshell配色方案
热门文章
防火墙五个安全域和三种工作模式
openstack-keystone (systemd:httpd): FAILED controller02 (blocked)
参数
Full GC
【Validation】@Validated和@Valid的区别和使用
Java基础(变量、数据类型、运算符、分支结构、循环结构、数组、方法)
Exception in MIPS
有关RabbitMq基操
15张图解Redis为什么这么快
Oracle创建database link(dblink)和同义词(synonym)
Copyright © 2011-2022 走看看