20070618(日常实践收集)c#.net

DataGrid 超连接列 绑定多个值

<asp:TemplateColumn HeaderText="团体类别">
     <ItemTemplate>
           <asp:HyperLink runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.GC_name") %>'   NavigateUrl='<%# "GroupClassList.aspx?GC_ID=" + DataBinder.Eval(Container, "DataItem.GC_ID") + "&GC_name=" + DataBinder.Eval(Container, "DataItem.GC_name") %>'>
           </asp:HyperLink>
     </ItemTemplate>
</asp:TemplateColumn>
*****************************************
数据库日期为yyyy-mm-dd格式时
在前台默认显示为yyyy-mm-dd 0:00:00,若要显示格式为“yyyy-mm-dd”
例子:
this.copylistnum.Text=dr_declare["数据库表日期字段"].ToString().Remove(dr_declare["数据库表日期字段"].ToString().LastIndexOf("0:00:00"),7);

*****************************************
//DataGrid中绑定列按扭事件和触发事件(模板列中的Button事件和LinkButton 事件,以及ButtonColumn 事件)
//例子:
//前台代码:
<asp:datagrid id="DataGrid1" runat="server" DataKeyField="softID" AutoGenerateColumns="False"
       Width="800px">
       <Columns>
        <asp:BoundColumn Visible="False" DataField="softID" HeaderText="softID"></asp:BoundColumn>
        <asp:BoundColumn DataField="soft_number" HeaderText="软件编号"></asp:BoundColumn>
        <asp:BoundColumn DataField="soft_name" HeaderText="软件名称"></asp:BoundColumn>
        <asp:BoundColumn DataField="people" HeaderText="开发者"></asp:BoundColumn>
        <asp:TemplateColumn HeaderText="双软申报情况">
         <ItemTemplate>
         <asp:Button Runat="server" Text="button" onclick="lb_Click" CausesValidation="False" ID="Button1" NAME="Button1"></asp:Button>
         </ItemTemplate>
        </asp:TemplateColumn>
        <asp:ButtonColumn Text="申报修改" ButtonType="PushButton" HeaderText="申报修改" CommandName="btn"></asp:ButtonColumn>
        <asp:TemplateColumn>
         <ItemTemplate>
          <asp:LinkButton runat="server" Text="按钮" OnClick="lb_Click" CausesValidation="false"></asp:LinkButton>
         </ItemTemplate>
        </asp:TemplateColumn>
       </Columns>
      </asp:datagrid>


//后台代码:
public void btn_Click(object sender,string ID)  //ButtonColumn按扭执行的事件
  {
   
   Response.Write("<script>alert('成功了');</script>");
   Response.Redirect("double_view.aspx?softID="+ID);
  }
  public void lb_Click(object sender ,EventArgs e)  //Button按扭和LinkButton按扭执行的事件
  {
   Response.Write("<script>alert('lbclick成功了');</script>");
  }
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   //触发ButtonColumn按扭事件
   
   if(e.CommandName=="btn")
   {
    string soft_id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
    this.btn_Click(source, soft_id);
   }
   //Response.Redirect("double_view.aspx?softID="+this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString());
  
  }
*****************************************
//marquee走停方法使用:
<marquee onmouseover="this.stop()" behavior="scroll" loop="-1" width="720" onmouseout="this.start()">显示文字</marquee>
*****************************************
日期类型显示时转换:
Convert.ToDateTime(dr["数据库中日期字段名"]).ToString("yyyy-MM-dd");
Convert.ToDateTime(dr["数据库中日期字段名"]).ToString("yyyy年MM月dd日");

货币类型显示时转换:
Convert.ToDecimal(dr["register_expense"]).ToString("C");

数据绑定格式转换:
货币形式:{0:c}
浮点数小数位数{0:n2}  //三为小数就是n3
*****************************************
//asp.net中对数据库表插入null空值的问题:
sqlcmd.Parameters.Add(new   SqlParameter("@t12",SqlDbType.DateTime));  
  if   (tb12.Text.Length>0)  
  {  
  sqlcmd.Parameters["@t12"].Value=tb12.Text  
  }  
  else  
  {  
  sqlcmd.Parameters["@t12"].Value=System.DBNull.Value;  
  }
*****************************************
//往数据集合(DataTable)动态添加一列
   //begin
   int all=dt.Rows.Count;
   string[] array1=new string[all];//存放开发者id值
   string[] array2=new string[all];//存放开发者的名字
   string[] array3=new string[all];//暂存
   for(int j=0;j<all;j++)
   {
    string array2Str="";
    array1[j]=dt.Rows[j]["developer"].ToString().Trim(); //从库里取出开发者id
    array3=array1[j].ToString().Trim().Split(' ');//以空格分隔,取出id的值

    foreach(string str in array3) //根据id的值,分别取出名字,放到array2中
    {
     if((str.Trim())!="")
     {
      string sqlstring="select employee_name from employee where employeeID="+str;
      SqlCommand sqlname=new SqlCommand(sqlstring,myconn);
      SqlDataReader ldr=sqlname.ExecuteReader();
      if(ldr.Read())
       array2Str+=ldr.GetValue(0).ToString()+" ";
      ldr.Close();
     }
           
    }

    array2[j]=array2Str;
   }
   
   DataColumn col=new DataColumn("people");//生成一列
   dt.Columns.Add(col);
   
   for(int k=0;k<all;k++)
   {
    dt.Rows[k]["people"]=array2[k];
   }
   //over
*****************************************
// sql语句 内嵌查询 (inner join)
// 而不能写成:a inner join b on 连接条件 inner join c on 连接条件 inner join d on 连接条件 inner join e on 连接条件
// 必须是:(((a inner join b on 连接条件) inner join c on 连接条件) inner join d on 连接条件) inner join e on 连接条件
// 在access里实验过的:
SELECT DISTINCT xt_t_car_use.keyid, xt_t_driver.driver_name, xt_t_car.plate, xt_t_car_use.apply_name, xt_yonghu.xingming, xt_t_car_use.deal_idea, xt_t_car_use.deal_user
FROM ((xt_t_car_use INNER JOIN xt_yonghu ON CInt(xt_t_car_use.apply_name)=xt_yonghu.keyid)
INNER JOIN xt_t_driver ON xt_t_car_use.driverid = xt_t_driver.keyid)
INNER JOIN xt_t_car ON xt_t_car.keyid = xt_t_car_use.carid
WHERE (xt_t_car_use.carid<>0) AND (xt_t_car_use.return_info='未还车')
*****************************************
//数据加密
//你的主页或者你管理的网站有各种密码需要保护,把密码直接放在数据库或者文件中存在不少安全隐患,
//所以密码加密后存储是最常见的做法。在ASP.NET中实现加密非常容易。.NET SDK中提供了
//CookieAuthentication类,其中的HashPasswordForStoringInConfigFile方法 可直接使用MD5和SHA1算法
// 注意:类CookieAuthentication的namespace是System.Web.Security

public class WebForm1 : System.Web.UI.Page
{
  protected System.Web.UI.WebControls.TextBox TextBox1;
  protected System.Web.UI.WebControls.Button Button1;
  protected System.Web.UI.WebControls.Label SHA1;
  protected System.Web.UI.WebControls.Label MD5;
}  
public void Button1_Click (object sender, System.EventArgs e)
{
  MD5.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,"MD5");
  this.SHA1.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,"SHA1");
  //SHA1 use CookieAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,"SHA1");
}
*****************************************

table表格线(固定)设置
style="TABLE-LAYOUT: fixed;WORD-BREAK: break-all;
BORDER-COLLAPSE: collapse;WORD-WRAP: break-word" borderColor="#000066"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值