Kategori arşivi: C#

DataTable Satırların Sıralanma Şeklini Değiştirme

c sharp datatable sıralanma

DataTable içerisindeki satırların sıralanma şeklini değiştirme

Aşağıdaki örnekteki gibi uygulama yaparak datatable içerisindeki satırların sıralanma şeklini değiştirebilirsiniz…


public DataTable dtDuzenle(DataTable dt, String sutunIsmi)
{
DataView dv = dt.DefaultView;
dv.Sort = sutunIsmi;
DataTable siralanmisDt = dv.ToTable();
return siralanmisDt;
}

Ayrıca sütun ismini yazarken bir boşluk bırakıp ASC yada DESC derseniz sıralama şeklini değiştirebilirsiniz


dataGridView1.DataSource = dtDuzenle(dt, "col2 desc");

ile datatable içerisindeki rowların sıralanma şeklini değiştirebilirsiniz

dt2

Denemek için form içerisine DataGridView ekleyip aşağıdaki kodları kullanın


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();

dt.Columns.Add("col1");
dt.Columns.Add("col2");

DataRow row1 = dt.NewRow();
row1["col1"] = "row1";
row1["col2"] = "1";

DataRow row2 = dt.NewRow();
row2["col1"] = "row2";
row2["col2"] = "2";

DataRow row3 = dt.NewRow();
row3["col1"] = "row3";
row3["col2"] = "3";

dt.Rows.Add(row1);
dt.Rows.Add(row3);
dt.Rows.Add(row2);

//dataGridView1.DataSource = dt;
dataGridView1.DataSource = dtDuzenle(dt, "col2");

}

public DataTable dtDuzenle(DataTable dt, String sutunIsmi)
{
DataView dv = dt.DefaultView;
dv.Sort = sutunIsmi;
DataTable siralanmisDt = dv.ToTable();
return siralanmisDt;
}

}
}

dt

Visual Studio ClickOnce İle Setup Oluşturma

visual studio clickconce

ClickOnce Nedir? Nasıl Kullanılır?

Visual studio içerisinde yüklü gelen ClickOnce eklentisiyle birlikte programınıza kurulum dosyası oluşturabilirsiniz

Bu eklentiyle birlikte uygulamanın yüklenmesinde karşılaşılan güncelleme, yükleme izinleri vb gibi sorunlar da çözülmesine imkan tanınır

Eklentiyi kullanabilmek için ilk önce visual studio da üst kısımda project properties kısmı açılır

clickonce 1

Daha sonra publish sekmesinden publish now butonuna tıklanır

clickonce 2

Visual studio otomatik olarak proje dizininde publish klasörü oluşturur.

Setup dosyaları bu dizinin altındadır.

click once 3Buradaki .application isimli dosyaya çift tıklayarak programı bilgisayara yükleyebilirsiniz.

cl 4

Otomatik güncelleme ve diğer özellikler için publish now butonu yerine publish wizard butonuna tıklayarak gerekli adımları izleyin.

C# integer başına sıfır ekletmek

c# integer

C# ile integer değerlerdeki karakter eksikliğini giderme

Integer (tamsayı) değerler veritabanına başlarındaki sıfırlar kırpılarak kaydedilir, maskedtextbox gibi komponentlere bu değerleri aktarmak istediğinizde istenilen basamaktan daha az basamakta değer gelecektir. Bunu önlemek için aşağıda yazdığım fonksiyonu kullanabilirsiniz.


public static string sifirekle(string sayi, int basamaksayisi)
{
int ekleneceksifirsayisi = basamaksayisi - sayi.Length;
for (int i = 0; i < ekleneceksifirsayisi; i++)
{
sayi = "0" + sayi;
}
return sayi;
}

DevExpress Asp.Net Grid SelectionChanged KeyField Değeri

devexpress

DevExpress Kullanırken Asp.Net Grid SelectionChanged KeyField Değeri Nasıl Alınır?

Deveexpress gridi çoklu select desteklediği için seçilen değeri liste atıyoruz sonra ilk elemanı seçiyoruz. Bunu yapmadan önce grid properties penceresinden AllowSelectSingleRowOnly=true ve ProcessSelectionChangedOnServer=true olarak ayarlanmalıdır.


protected void grid_fiyat_stoklistesi_SelectionChanged(object sender, EventArgs e)
{
List<object> kayitlar = grid_fiyat_stoklistesi.GetSelectedFieldValues(grid_fiyat_stoklistesi.KeyFieldName);
MessageBox.Show(kayitlar[0].ToString());
}

MaskedEditExtender Silme Sorunu Çözüm

aspnet MaskedEditExtender AjaxControlToolkit MaskedEditExtender Silme Sorununa Çözüm

AjaxControlToolkit kullanımında MaskedEditExtender kullanırken sadece bazı tarayıcılarda olmak üzere yazılan metnin silinememesi sorunu yaşadım

Bazı tarayıcılarda maskededit alanındaki yazıda silme sorunu oluyor, bunun çözümü için proje içerisinde bir klasöre MaskedEditFix isimli dosyayı yükledikten sonra SiteMaster page load eventine şu kodları yapıştırabilirsiniz.


if (Page.ClientScript.IsStartupScriptRegistered(this.GetType(), "MaskedEditFix") == false)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "MaskedEditFix", string.Format("<script type='text/javascript' src='{0}'></script>", Page.ResolveUrl("~/MaskFix/MaskedEditFix.js")));
}

AjaxControlToolkit projesine buradan ulaşabilirsiniz.