綁定數據源
public void Data()
{
DataTable td = new DataTable();
DataRow row = td.NewRow();
foreach (GridColumn item in gridView1.Columns)
{
DataColumn it = new DataColumn(item.FieldName, typeof(String));
if (item.FieldName == "check")//添加復選框
{
td.Columns.Add(item.FieldName, Type.GetType("System.Boolean"));
td.Columns[item.FieldName].DefaultValue = Boolean.FalseString;
continue;
}
td.Columns.Add(it);
}
gridControl1.DataSource = td;
}
//重要
列標題字體設置
Appearences》HeaderPanel
1、獲取選中行的某列的值:object ojb =GridView1.getrowcellvalue(GridView1.focusedrowhandle,"列名");
獲取選中行的某列的值
this.gridView1.GetRowCellValue(0, gridView1.Columns["StorkCode"]);
//賦值
this.gridView1.SetRowCellValue(i, gridView1.Columns["jianshu"], gdjianshu.ToString());
2、設置標頭居中,只需要設置Views-->Appearance-->HeaderPanel-->TextOptions.HAlignment=Center。內容居中設置:Columns-->AppearanceCell-->TextOptions.HAlignment=Center。上圖第一列設置了內容居中。
3、設置Gridview控件,列頭不可排序
this.gridDataDetail.gridView1.OptionsCustomization.AllowSort = false;
4、使Gridview控件,失去選中焦點
this.gridData.gridView1.FocusedRowHandle = -1
5、判斷Gridview是否選中了數據
int index= this.gridData.gridView1.GetFocusedDataSourceRowIndex() ;
如果index小於0,證明沒有選中行,否則就選中了行數據
6、獲取選中Gridview的行數據
DataRow vCurrenRow = this.gridData.gridView1.GetFocusedDataRow();
7、刪除選中Gridview行數據
this.gridDataDetail.gridView1.DeleteRow(this.gridDataDetail.gridView1.FocusedRowHandle);
8、Gridview新增一條編輯行
DataRow vDetailRow = this.DataDetailSourceTable.Rows.Add(); //這是新增加了一行
vDetailRow["primary_key"] = ""; primary_key為數據庫綁定到Gridview中的字段,后面可以對其進行賦值。
9、獲取GridView中所有的選中的行號
int[] iRowId = this.gridData.gridView1.GetSelectedRows();
在表格添加一列按鈕
在column properties-->buttons--->將屬性kind選為Glyph,然后將Caption設為把ButtonEdit的TextEditStyle設為HideTextEditor然后Button,第一個button的Caption寫GO,Kind設為Glyph
在Gridview的OptionCustomization里面,有個屬性叫"AllowColumnMoving",把這個關閉,就不會顯示Column Chooser的菜單了。
//選中行的下標
int index = this.gridView1.FocusedRowHandle;
//判斷是否為回車
if (e.KeyChar == Keys.Enter.GetHashCode())
{
//視圖內是否有數據,並且當前下標是否在最后一行
if (gridView1.Columns.View.RowCount != 0 && index < gridView1.Columns.View.RowCount - 1)
{
//如果大於0就從下標行開始
if (index > 0)
{
//TO DO
}
}
else {
// SubjectQuotaRowAdd();
}
}
//這是我寫的 回車代表新建 也能夠代替Tab跳格鍵 我現在只能做出回車焦點定位到某行 而不能定位到某行的某單元
4、獲取RadioGroup上選擇的是哪一個,代碼如下:
private void radioGroup1_SelectedIndexChanged(object sender, EventArgs e)
{
if (radioGroup1.SelectedIndex == 1)
{
MessageBox.Show("未發送");
}
if (radioGroup1.SelectedIndex == 0)
{
MessageBox.Show("已發送");
}
if (radioGroup1.SelectedIndex == 2)
{
MessageBox.Show("發送失敗");
}
}