程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#開發及應用技巧(1)

C#開發及應用技巧(1)

編輯:關於C語言
1.怎樣定制VC#DataGrid列標題?

DataGridTableStyle dgts = new DataGridTableStyle();
  dgts.MappingName = "myTable"; //myTable為要載入數據的DataTable
  
  DataGridTextBoxColumn dgcs = new DataGridTextBoxColumn();
  dgcs.MappingName = "title_id";
  dgcs.HeaderText = "標題ID";
  dgts.GridColumnStyles.Add(dgcs);
  。。。
  dataGrid1.TableStyles.Add(dgts);

  2.檢索某個字段為空的所有記錄的條件語句怎麼寫?
  ...where col_name is null

  3.如何在c# Winform應用中接收回車鍵輸入?
  設一下form的AcceptButton.

  4.比如Oracle中的NUMBER(15),在SQL Server中應是什麼?
  NUMBER(15):用numeric,精度15試試。

  5.SQL Server的應用like語句的存儲過程怎樣寫?
  select * from mytable where haoma like ‘%’ + @hao + ‘%’

  6.vc# winform中如何讓textBox接受回車鍵消息(假沒沒有按鈕的情況下)?
  private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  {
  if(e.KeyChar != (char)13)
  return;
  else
  //do something;
  }

  7.為什麼(Int32)cmd.ExecuteScalar()賦值給Int32變量時提示轉換無效?
  Int32.Parse(cmd.ExecuteScalar().ToString());

  8.DataSource為子表的DataGrid裡怎樣增加一個列以顯示母表中的某個字段?
  在子表裡手動添加一個列。
  DataColumn dc = new DataColumn("newCol", Type.GetType("System.String"));
  dc.Expression = "Parent.parentColumnName";
  dt.Columns.Add(dc); //dt為子表

  9.怎樣使DataGrid顯示DataTable中某列的數據時只顯示某一部分?
  select ..., SUBSTR(string, start_index, end_index) as ***, *** from ***

  10.如何讓winform的combobox只能選不能輸入?
  DropDownStyle 屬性確定用戶能否在文本部分中輸入新值以及列表部分是否總顯示。
  值:
  DropDown --- 文本部分可編輯。用戶必須單擊箭頭按鈕來顯示列表部分。
  DropDownList --- 用戶不能直接編輯文本部分。用戶必須單擊箭頭按鈕來顯示列表部分。
  Simple --- 文本部分可編輯。列表部分總可見。

  11.怎樣使winform的DataGrid裡顯示的日期只顯示年月日部分,去掉時間?
  sql語句裡加上to_date(日期字段,'yyyy-mm-dd')

  12.怎樣把數據庫表的二個列合並成一個列Fill進DataSet裡?
  dcChehao = new DataColumn("newColumnName", typeof(string));
  dcChehao.Expression = "columnName1+columnName2";
  dt.Columns.Add(dcChehao);
  Oracle:
  select col1||col2 from table
  SQL Server:
  select col1+col2 from table

  13.如何從合並後的字段裡提取出括號內的文字作為DataGrid或其它綁定控件的顯示內容?即把合並後的字段內容裡的左括號(和右括號)之間的文字提取出來。
  Select COL1,COL2, case
  when COL3 like ‘%(%’ THEN substr(COL3, INSTR(COL3, ‘(’ )+1, INSTR(COL3,‘)’)-INSTR(COL3,‘(’)-1)
  end as COL3
  from MY_TABLE

  14.當用鼠標滾輪浏覽DataGrid數據超過一定范圍DataGrid會失去焦點。怎樣解決?
  this.dataGrid1.MouseWheel+=new MouseEventHandler(dataGrid1_MouseWheel);
  private void dataGrid1_MouseWheel(object sender, MouseEventArgs e)
  {
  this.dataGrid1.Select();
  }

  15.怎樣把鍵盤輸入的‘+’符號變成‘A’?
  textBox的KeyPress事件中
  if(e.KeyChar == '+')
  {
  SendKeys.Send("A");
  e.Handled = true;
  }

16.怎樣使Winform啟動時直接最大化?

this.WindowState = FormWindowstate.Maximized;

17.c#怎樣獲取當前日期及時間,在sql語句裡又是什麼?

c#: DateTime.Now

SQL Server: GetDate()

18.怎樣訪問winform DataGrid的某一行某一列,或每一行每一列?

dataGrid[row,col]

19.怎樣為DataTable進行匯總,比如DataTable的某列值‘延吉'的列為多少?

dt.Select("城市='延吉'").Length;

20.DataGrid數據導出到Excel後0212等會變成212。怎樣使它導出後繼續顯示為0212?

range.NumberFormat = "0000";

21.

① 怎樣把DataGrid的數據導出到Excel以供打印?

② 之前已經為DataGrid設置了TableStyle,即自定義了列標題和要顯示的列,如果想以自定義的視圖導出數據該怎麼辦?

③ 把數據導出到Excel後,怎樣為它設置邊框啊?

④ 怎樣使從DataGrid導出到Excel的某個列居中對齊?

⑤ 數據從DataGrid導出到Excel後,怎樣使標題行在打印時出現在每一頁?

⑥ DataGrid數據導出到Excel後打印時每一頁顯示’當前頁/共幾頁’,怎樣實現?

private void button1_Click(object sender, System.EventArgs e)

{

int row_index, col_index;

row_index = 1;

col_index = 1;

Excel.ApplicationClass excel = new Excel.ApplicationClass();

Excel.Workbooks.Add(true);

DataTable dt = ds.Tables["table"];

foreach(DataColumn dcHeader in dt.Columns)

Excel.Cells[row_index, col_index++] = dcHeader.ColumnName;

foreach(DataRow dr in dt.Rows)

{

col_index = 0;

foreach(DataColumn dc in dt.Columns)

{

Excel.Cells[row_index+1, col_index+1] = dr[dc];

col_index++;

}

row_index++;

}

Excel.Visible = true;

 }

private void Form1_Load(object sender, System.EventArgs e)

{

SqlConnection conn = new SqlConnection("server=tao;uid=sa;pwd=;database=pubs");

conn.Open();

SqlDataAdapter da = new SqlDataAdapter("select * from authors", conn);

ds = new DataSet();

da.Fill(ds, "table");

dataGrid1.DataSource = ds;

dataGrid1.DataMember = "table";

}

②dataGrid1.TableStyles[0].GridColumnStyles[index].HeaderText;//index可以從0~dataGrid1.TableStyles[0].GridColumnStyles.Count遍歷。

③ Excel.Range range;

range=worksheet.get_Range(worksheet.Cells[1,1],xSt.Cells[ds.Tables[0].Rows.Count+1,ds.Tables[0].Columns.Count]);

range.BorderAround(Excel.XlLineStyle.xlContinuous,Excel.XlBorderWeight.xlThin,Excel.XlColorIndex.xlColorIndexAutomatic,null);

range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].ColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic;

range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].LineStyle =Excel.XlLineStyle.xlContinuous;

range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].Weight =Excel.XlBorderWeight.xlThin;

range.Borders[Excel.XlBordersIndex.xlInsideVertical].ColorIndex =Excel.XlColorIndex.xlColorIndexAutomatic;

range.Borders[Excel.XlBordersIndex.xlInsideVertical].LineStyle = Excel.XlLineStyle.xlContinuous;

range.Borders[Excel.XlBordersIndex.xlInsideVertical].Weight = Excel.XlBorderWeight.xlThin;

④ range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter

⑤ worksheet.PageSetup.PrintTitleRows = "$1:$1";

⑥ worksheet.PageSetup.CenterFooter = "第&P頁 / 共&N頁";

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved