C# GridView排序/分页
OnSorting="gvName_Sorting"
OnPageIndexChanging="gvName_PageIndexChanging"
protected void gvName_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvName.PageIndex = e.NewPageIndex;
BindEvents();
}
protected void gvName_Sorting(object sender, GridViewSortEventArgs e)
{
GridViewSortExpression = e.SortExpression;
SetSortDirection();
BindEvents();
}
protected void BindEvents()
{
DataView dvName = new DataView();
dvName.Sort = GridViewSortExpression + " " + GridViewSortDirection;
dvName.DataSource = dvEvents;
dvName.DataBind();
}
private string GridViewSortDirection
{
get { return ViewState["SortDirection"] as string ?? "DESC"; }
set { ViewState["SortDirection"] = value; }
}
private string GridViewSortExpression
{
get { return ViewState["SortExpression"] as string ?? "DEFAULT SORT COLUMN"; }
set { ViewState["SortExpression"] = value; }
}
private void SetSortDirection()
{
GridViewSortDirection = (GridViewSortDirection == "DESC") ? "ASC" : "DESC";
}
C# Gridview MouseOver颜色
protected void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
DataControlRowType rtype = e.Row.RowType;
if (rtype == DataControlRowType.DataRow && rtype != DataControlRowType.Footer && rtype != DataControlRowType.Separator && rtype != DataControlRowType.Header && rtype != DataControlRowType.Pager)
{
e.Row.Attributes.Add("onmouseover", "Highlight(this,'#DCEDFF');");
e.Row.Attributes.Add("onmouseout", "resetColorRows('#ffffff','#eeeeee');");
}
}
<script type="text/javascript">
function Highlight(row,color)
{
row.style.backgroundColor=color;
}
function resetColorRows(color1,color2)
{
var bgColor;
t = document.getElementsByTagName("tr");
for (var i=1; i<t.length; i++)
{
if ((i % 2) == 1)
bgColor = color1;
else
bgColor = color2;
t[i].style.backgroundColor = bgColor;
}
}
</script>
C# 使用Winform中的BackgroundWorker对象
int totalLines = 0;
int goodLines = 0;
int badLines = 0;
int colNum = 0;
long bytesProcessed = 0;
long fileSize = 0;
string regEx = string.Empty;
char[] delimiter = null;
StringBuilder sb = new StringBuilder();
StreamReader sr = null;
private void txtParse_Click(object sender, EventArgs e)
{
totalLines = 0;
goodLines = 0;
badLines = 0;
sb = new StringBuilder();
bytesProcessed = 0;
progressBar1.Value = 0;
FileInfo fi = new FileInfo(txtInputFile.Text);
fileSize = fi.Length;
sr = new StreamReader(txtInputFile.Text);
colNum = Convert.ToInt32(txtColNum.Text);
regEx = txtRegex.Text;
delimiter = txtDelimiter.Text.ToCharArray();
timer1.Start();
backgroundWorker1.RunWorkerAsync();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
while(!sr.EndOfStream)
{
string rawLine = sr.ReadLine();
totalLines++;
bytesProcessed += rawLine.Length;
string[] splitLine = rawLine.Split(delimiter);
if (Regex.IsMatch(splitLine[colNum], regEx))
{
goodLines++;
}
else
{
badLines++;
sb.AppendLine(rawLine);
}
}
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
txtOutput.Text = "Lines Processed: " + totalLines.ToString() + "
";
txtOutput.Text += "Good Lines: " + goodLines.ToString() + "
";
txtOutput.Text += "Bad Lines: " + badLines.ToString() + "
";
txtOutput.Text += sb.ToString();
timer1.Stop();
progressBar1.Value = 100;
}
private void timer1_Tick(object sender, EventArgs e)
{
double ratio = Convert.ToDouble(bytesProcessed) / Convert.ToDouble(fileSize);
double rawPercent = ratio * 100;
int send = Convert.ToInt32(rawPercent);
progressBar1.Value = send;
}
C# 的HasValue
/// <summary>
/// Check if the object has a value
/// </summary>
/// <param name="o">object to be checked</param>
/// <returns>boolean true/false whether it has a value.</returns>
public bool HasValue(object o)
{
return o != null && o != System.DBNull.Value && o.ToString() != "";
}
C# 计算MD5哈希值
// using System;
// using System.Text;
// using System.Security.Cryptography;
private string GetHash(string str)
{
MD5 md5 = MD5CryptoServiceProvider.Create();
ASCIIEncoding encoding = new ASCIIEncoding();
StringBuilder sb = new StringBuilder();
byte[] stream = md5.ComputeHash(encoding.GetBytes(str));
for (int i = 0; i < stream.Length; i++)
{
sb.AppendFormat("{0:x2}", stream[i]);
}
return sb.ToString();
}
C# Linq in C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DataClasses1DataContext dc = new DataClasses1DataContext();
var benutzerListe = from ds in dc.Benutzers where ds.PLY=="33" select ds;
foreach (var item in benutzerListe)
{
Console.WriteLine(item.Vorname + " " + item.Nachname);
item.Vorname = "Rolf";
}
Benutzer bn = new Benutzer() { ID = "3", Nachname = "sdfs", PLY = "saf", Strasse = "dsf", Vorname = "dsfs", Wohnort = "dsf" };
dc.Benutzers.InsertOnSubmit(bn);
dc.SubmitChanges();
Console.ReadKey();
}
}
}
C# Windows Mobile教程
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.PocketOutlook;
using Microsoft.WindowsMobile.Telephony;
namespace SmartDeviceProject1
{
public partial class Form1 : Form
{
Random rnd = new Random(DateTime.Now.Millisecond);
OutlookSession os = new OutlookSession();
ContactCollection kontakte;
public Form1()
{
InitializeComponent();
kontakte = os.Contacts.Items;
Contact meinKontakt = new Contact();
meinKontakt.FirstName = "dieter";
meinKontakt.LastName = "wurst";
meinKontakt.MobileTelephoneNumber = "018930334";
kontakte.Add(meinKontakt);
}
private void color_Click(object sender, EventArgs e)
{
this.BackColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
}
private void menuExit_Click(object sender, EventArgs e)
{
Close();
}
private void btnCall_Click(object sender, EventArgs e)
{
Phone meinHandy = new Phone();
meinHandy.Talk("04543534");
}
private void btnSMS_Click(object sender, EventArgs e)
{
SmsMessage mySms = new SmsMessage();
mySms.Body = "das is ne nachtichr";
mySms.To.Add(new Recipient("32423423"));
mySms.Send();
MessageBox.Show("versendet");
}
}
}
C# ASP.NET Hello World!
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Label1.Text = "Hello World!";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
C# 具有扫描,上传和缩略图生成功能的ImgX Controls / ASP.NET AJAX演示页面。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public bool ThumbnailCallback()
{
return false;
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
string id = Request.Params["id"];
if (!string.IsNullOrEmpty(id) && Session[id] as byte[] != null)
{
byte[] thumbnailBytes = null;
/*
* Microsoft Support: Bitmap and Image constructor dependencies (http://support.microsoft.com/Default.aspx?id=814675)
* Google: "A generic error occurred in GDI+." 2147467259 (http://www.google.gr/search?num=100&hl=en&q=%22A+generic+error+occurred+in+GDI%2B.%22+2147467259)
* In sort, we must keep the originating stream of an Image as long as we want to do computations with that image.
*/
using (System.IO.MemoryStream msImage = new System.IO.MemoryStream(Session[id] as byte[]))
{
System.Drawing.Image image = System.Drawing.Image.FromStream(msImage);
using (System.IO.MemoryStream msThumbnail = new System.IO.MemoryStream())
{
System.Drawing.Image.GetThumbnailImageAbort myCallback =
new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
int factor = 10;
try
{
factor = Int32.Parse(Request.Params["factor"]);
}
catch
{
// Ignore.
}
System.Drawing.Image thumbnail = image.GetThumbnailImage(image.Width / factor, image.Height / factor, null, IntPtr.Zero);
thumbnail.Save(msThumbnail, System.Drawing.Imaging.ImageFormat.Jpeg);
thumbnailBytes = new byte[msThumbnail.Length];
msThumbnail.Seek(0, System.IO.SeekOrigin.Begin);
msThumbnail.Read(thumbnailBytes, 0, thumbnailBytes.Length);
}
}
Response.ContentType = "image/jpeg";
Response.BinaryWrite(thumbnailBytes);
}
}
[System.Web.Services.WebMethod]
public static string Upload(string encodedImage)
{
if (string.IsNullOrEmpty(encodedImage))
throw new ArgumentException(string.Empty, "encodedImage");
string id = (new Random()).Next().ToString();
HttpContext.Current.Session[id] = System.Convert.FromBase64String(encodedImage);
return id;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<script type="text/javascript">
function ButtonFirst_Click(evt) {
evt.preventDefault();
var imgx = $get('ImgX');
imgx.Images.Current = imgx.Images(0);
UpdateView();
}
function ButtonPrevious_Click(evt) {
evt.preventDefault();
var imgx = $get('ImgX');
imgx.Images.Current = imgx.Images(imgx.Images.Current.Index - 1);
UpdateView();
}
function ButtonNext_Click(evt) {
evt.preventDefault();
var imgx = $get('ImgX');
imgx.Images.Current = imgx.Images(imgx.Images.Current.Index + 1);
UpdateView();
}
function ButtonLast_Click(evt) {
evt.preventDefault();
var imgx = $get('ImgX');
imgx.Images.Current = imgx.Images(imgx.Images.Count - 1);
UpdateView();
}
function pageLoad(sender, e) {
// Attach event handlers.
$addHandler($get('<%= ButtonScan.ClientID %>'), 'click', ButtonScan_Click);
$addHandler($get('<%= Slider1.ClientID %>'), 'change', Slider1_Change);
$addHandler($get('<%= ButtonUpdateThumbnail.ClientID %>'), 'click', ButtonUpdateThumbnail_Click);
$addHandler($get('<%= ButtonFirst.ClientID %>'), 'click', ButtonFirst_Click);
$addHandler($get('<%= ButtonPrevious.ClientID %>'), 'click', ButtonPrevious_Click);
$addHandler($get('<%= ButtonNext.ClientID %>'), 'click', ButtonNext_Click);
$addHandler($get('<%= ButtonLast.ClientID %>'), 'click', ButtonLast_Click);
$get('ImgXTwain').attachEvent('ImageAcquired', ImgXTwain_ImageAcquired);
// ImgX initialization.
var imgx = $get('ImgX');
imgx.AutoZoomType = 1;
UpdateView();
}
function Slider1_Change(evt) {
$get('ImgX').Zoom = evt.target.value / 100;
}
function ButtonUpdateThumbnail_Click(evt) {
evt.preventDefault();
var imgx = $get('ImgX');
var imageType = 1; // enum value for jpeg
if (imgx.Images.Count > 1) {
imageType = 3; // enum value for Tiffs
imgx.ImgX.TIFCompression = 4; // Set packbits compression for 8, 24, 32 bit images.
}
// Get a base64 string representing our encoded image.
var tempElement = (new ActiveXObject("Microsoft.XMLDOM")).createElement("tempElement");
tempElement.dataType = "bin.base64";
tempElement.nodeTypedValue = imgx.Export.ToMemoryFileVariant(imageType);
// Upload
PageMethods.Upload(tempElement.text, Upload_Success);
}
function Upload_Success(result, context, methodName) {
var img = $get('<%=Image1.ClientID %>');
img.src = '?id=' + result;
}
function ButtonScan_Click(evt) {
evt.preventDefault();
$get('ImgXTwain').Acquire(false, theForm.ImgX.hWnd);
}
function ImgXTwain_ImageAcquired(image) {
var imgx = $get('ImgX');
// Set scanning options. These must be set before image acquisition.
imgx.AutoZoom = $get('<%=CheckBoxAutoZoom.ClientID %>').checked;
imgx.AutoCrop = $get('<%=CheckBoxAutoCrop.ClientID %>').checked;
imgx.Images.Add(theForm.ImgX.Support.GetImageFromVariant(image), 0, false);
UpdateView();
}
function UpdateView() {
var imgx = $get('ImgX');
$get('<%=ButtonUpdateThumbnail.ClientID %>').disabled = imgx.Images.Count == 0;
if (imgx.Images.Count < 2) {
$get('<%=ButtonPrevious.ClientID %>').disabled =
$get('<%=ButtonFirst.ClientID %>').disabled =
$get('<%=ButtonLast.ClientID %>').disabled =
$get('<%=ButtonNext.ClientID %>').disabled = true;
}
else {
$get('<%=ButtonPrevious.ClientID %>').disabled =
$get('<%=ButtonFirst.ClientID %>').disabled = imgx.Images.Current.Index == 0;
$get('<%=ButtonLast.ClientID %>').disabled =
$get('<%=ButtonNext.ClientID %>').disabled = imgx.Images.Count == imgx.Images.Current.Index + 1;
}
if (imgx.Images.Count > 0) {
$get('SpanCurrent').innerHTML = imgx.Images.Current.Index + 1;
$get('SpanCount').innerHTML = imgx.Images.Count;
}
else {
$get('SpanCurrent').innerHTML = $get('SpanCount').innerHTML = 0;
}
$find("<%=SliderExtender1.ClientID%>").set_Value(Math.round(imgx.Zoom * 100));
}
</script>
<div>
<div style="display: none">
<object id="ImgXTwain" classid="CLSID:354D91A8-E3C9-491F-BB89-0FB27DEEED86">
</object>
</div>
<div style="float: left; position: relative; top: 25px; margin: 5px;">
<ajaxToolKit:SliderExtender ID="SliderExtender1" runat="server" TargetControlID="Slider1"
Minimum="1" RaiseChangeOnlyOnMouseUp="false" Orientation="Vertical" BoundControlID="Slider1_BoundControl">
</ajaxToolKit:SliderExtender>
<asp:TextBox ID="Slider1" runat="server"></asp:TextBox>
<asp:Label ID="Slider1_BoundControl" runat="server"></asp:Label>%
</div>
<div style="float: left">
<asp:Panel ID="Panel3" runat="server" Style="text-align: center;">
<asp:Button ID="ButtonFirst" runat="server" Text="<< First" />
<asp:Button ID="ButtonPrevious" runat="server" Text="< Previous" />
<span id="SpanCurrent"></span>&nbsp;of&nbsp;<span id="SpanCount"></span>
<asp:Button ID="ButtonNext" runat="server" Text="Next >" />
<asp:Button ID="ButtonLast" runat="server" Text="Last >>" />
</asp:Panel>
<object id="ImgX" classid="clsid:111A5E7A-EAAC-433A-B56B-0AF470BE6306" style="width: 353px;
height: 500px;">
<param name="BackColor" value="16777215" />
<param name="MouseTool" value="2" />
<param name="AntialiasDisplay" value="True" />
<param name="Center" value="True" />
<param name="UndoLevels" value="3" />
</object>
</div>
<div style="float: left; width: 400px; margin-left: 10px">
<asp:Panel ID="Panel1" runat="server" GroupingText="Scan">
<asp:Button ID="ButtonScan" runat="server" Text="Scan" Style="float: right" />
<asp:CheckBox ID="CheckBoxAutoZoom" runat="server" Text="AutoZoom" Checked="true" />
<asp:CheckBox ID="CheckBoxAutoCrop" runat="server" Text="AutoCrop" Checked="true" />
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" GroupingText="Thumbnail">
<asp:Button ID="ButtonUpdateThumbnail" runat="server" Text="Update" Style="float: right" />
<asp:Image ID="Image1" runat="server" />
</asp:Panel>
<asp:Panel ID="Panel5" runat="server" GroupingText="Edit">
<asp:Button ID="ButtonRemove" runat="server" Text="Remove" ToolTip="Remove image from collection" />
</asp:Panel>
</div>
</div>
</form>
</body>
</html>
C# WPF网格
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:own="clr-namespace:WpfApplication1"
Title="Window1" Height="300" Width="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="100"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid Grid.Column="1" Grid.ColumnSpan="2">
<Label Content="Label"></Label>
</Grid>
</Grid>
</Window>