一 ,打开新窗口并传递参数
(1)response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")
接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
(2)Button跳转新页面
Response.Redirect("SaleOrderBackAdd.aspx?rsoId=" + rsoId.ToString()+"&Type=0");
(3)Button打开新页面
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
Button1.Attributes.Add("onclick","window.open('../Sale/ShowJobOrder.aspx?rsoId="+rsoId.ToString()+"&url=SaleOrderShow.aspx','新页面名称,'top=100%,left=80,toolbar=no, menubar=no,scrollbars=yes,"
+"resizable=yes, location=no, status=no, width=610,height=400');return false;");
}
}
(4)DataGrid打开新页面
(a)
把此列转换为模板列
(b)
<asp:TemplateColumn HeaderText="合同编号">
<HeaderStyle Width="9%"></HeaderStyle>
<ItemTemplate>
<a style="CURSOR: hand"
href='SaleOrderShow.aspx?rsoId=<%# DataBinder.Eval(Container, "DataItem.rsoId") %>' target="_blank">
<%# DataBinder.Eval(Container, "DataItem.rsoCode") %>//该列的绑定字段
</a>
</ItemTemplate>
</asp:TemplateColumn>
(5)接收参数
private int rsoId
{
get
{
try
{
return Convert.ToInt32(Request.QueryString["rsoId"]);
}
catch
{
return 0;
}
}
}
(6)
控制摸板列字段里TextBox的readonly属性
<1>点开摸板列里TextBox控件的属性,选择最上面的DataBindings属性
<2>在新窗口找到ReadOnly并在"自定义绑定表达式"里写上方法.例如:a==1?true:false
<3>在cs里写属性.例如:
public int a
{
set
{
b=0;
}
get
{
return b;
}
}
二,Button的提示
(1)
Button1.Attributes.Add("onclick","return confirm(’确认?’)");
button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}")
(2)
btnDel.Attributes.Add("onclick", "return confirm('确定删除该记录吗?');");
(3)DataGrid列删除提示
private void dgBank_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
(e.Item.Cells[4].Controls[0] as LinkButton).Attributes.Add("onclick","return confirm('确定要删除吗!');");
}
}
三,获取参数值
1,取DataGrid列值:
(1)取主键值
int ID = Convert.ToInt32(dgBank.DataKeys[e.Item .ItemIndex]);
(2)取列值
string Memo=(dgProduct.Items[i].Cells[7].Controls[1] as TextBox).Text;
int a = Convert.ToInt32((e.Item.Cells[2].Controls[0] as TextBox).Text);
string b = (e.Item.Cells[1].Controls[0] as TextBox).Text.Trim();
int c = Convert.ToInt32(e.Item.Cells[8].Text); //只读列
int d = Convert.ToInt32((e.Item.Cells[6].Controls[1] as DropDownList).SelectedValue.ToString()); //内嵌DropDownList控件
(3)循环DataGrid列表取值
(a)
private int rsoId()
{
int r = 0;
int rsoId = -1;
for(int i = 0; i < dgSaleOrder.Items.Count; i++)
{
if((dgSaleOrder.Items[i].Cells[0].FindControl("CheckBox") as CheckBox).Checked)
{
rsoId =Convert.ToInt32( dgSaleOrder.DataKeys[dgSaleOrder.Items[i].ItemIndex].ToString());
r++;
}
}
if(r == 0)
{
MessageBox.Show(this,"请选择一条数据");
return false;
}
if(r>1)
{
MessageBox.Show(this,"选择请不要多于一条数据");
return false;
}
else
{
return rsoId;
}
}
(b)
private string rsoId()
{
string rsoId = "";
for(int i = 0; i < dgSaleOrder.Items.Count; i++)
{
if((dgSaleOrder.Items[i].Cells[0].FindControl("CheckBox") as CheckBox).Checked)
{
rsoId+ =dgSaleOrder.DataKeys[dgSaleOrder.Items[i].ItemIndex]+",";
}
}
if(rsoId == "")
{
MessageBox.Show(this,"请选择一条数据");
return false;
}
else
{
rsoId= rsoId.Remove(rsoId.Length - 1,1);
return rsoId;
}
}
四,表格点击改变颜色
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick","this.style.backgroundColor=’#99cc00’;
this.style.color=’buttontext’;this.style.cursor=’default’;");
}
写在DataGrid的_ItemDataBound里
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor=’#99cc00’;
this.style.color=’buttontext’;this.style.cursor=’default’;");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=’’;this.style.color=’’;");
}
五,Datagrid增加自动编号列
(正序)
1<asp:DataGrid id="DataGrid1" runat="server">
2 <Columns>
3 <asp:TemplateColumn>
4 <ItemTemplate>
5 <%# Container.ItemIndex + 1%>
6 </ItemTemplate>
7 </asp:TemplateColumn>
8 </Columns>
9 </asp:DataGrid>
(倒序)
<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">
2 <Columns>
3 <asp:TemplateColumn>
4 <ItemTemplate>
5 <%# RowsCount - DataGrid1.CurrentPageIndex * DataGrid1.PageSize - Container.ItemIndex %>
6 </ItemTemplate>
7 </asp:TemplateColumn>
8 </Columns>
9 </asp:DataGrid>
六,一个按钮实现添加和更改两个功能
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.QueryString["U_ID"] == null || Request.QueryString["U_ID"].ToString() == string.Empty || Convert.ToInt32(Request.QueryString["U_ID"]) < 1)
{
btnSave.CommandName ="insert";
btnSave.Text="添加";
}
else
{
btnSave.CommandName="update";
btnSave.Text="更改";
}
}
}
private void btnSave_Click(object sender, System.EventArgs e)
{
if(Page.IsValid)
{
if(btnSave.CommandName == "insert")
{
Add();
}
else
{
Edit();
}
}
}
七,关于日期格式
1,页面按钮显示:
lblsendtime.Text = Convert.ToDateTime(m_table.Rows[0]["sendtime"]).ToString("yyyy-MM-dd"); //2007-04-05
lblsendtime.Text = Convert.ToDateTime(m_table.Rows[0]["sendtime"]).ToString("yyyy年MM月dd日 ddd");
//2007年04月05日 星期五
2,DataGrid列显示时间:
{0:yyyy-mm-dd}
八,CheckBox (全选或全不选)
private void btnSelectAll_Click(object sender, System.EventArgs e)
{
for(int i = 0; i < dgMessage.Items.Count; i++)
{
if(((CheckBox)dgMessage.Items[i].Cells[0].FindControl("CheckBox1")).Checked)
{
((CheckBox)dgMessage.Items[i].Cells[0].FindControl("CheckBox1")).Checked = false;
}
else
{
for(int r = 0; r < dgMessage.Items.Count; r++)
{
((CheckBox)dgMessage.Items[r].Cells[0].FindControl("CheckBox1")).Checked = true;
}
return;
}
}
}
九,对一组以逗号分隔的字符串ID值循环
string strID;
string[] strID = importIDs.Split(',');
for(int i = 0;i < strID.Length; i++)
{
Update saleOrder set name=** where rsoId=strID[i]
}
十,绑定DropDownList控件
private void drpOrderStatusBind()
{
QuMeiXJ.BLL.batchSaleStatus bll = new QuMeiXJ.BLL.batchSaleStatus();
DataSet ds = bll.GetList("1=1");
drpOrderStatus.DataTextField = "bathSaleSName";
drpOrderStatus.DataValueField = "bathSaleSID";
drpOrderStatus.DataSource = ds;
drpOrderStatus.DataBind();
drpOrderStatus.Items.Insert(0,new ListItem("全部","-1"));
}