一 ,打開新視窗并傳遞參數
(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"));
}