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頁";